PHP MYSQL : mysqli_free_result
PHP MYSQL : mysqli_free_result
这是我在 Whosebug 中的第一个问题,希望你能帮助我:)
所以这是我的问题:
function find_employer_by_email($email){
global $connection;
$q="SELECT * FROM employers WHERE email='{$email}' ";
$res=mysqli_query($connection, $q);
if (mysqli_num_rows($res)>0) {
return $employer = mysqli_fetch_assoc($res);
}
}
因为我的函数没有返回查询本身而是 returns assoc 数组,我应该怎么做才能释放结果 (mysqli_free_result) 而不会弄乱我的函数?
既然您要将 mysqli_fetch_assoc
的结果分配给 $employer
,为什么不让函数的那部分看起来像
$employer = null;
if (mysqli_num_rows($res) > 0) {
$employer = mysqli_fetch_assoc($res);
$res->close();
return $employer;
这样,您将始终释放结果,return 正确的对象,如果未找到任何结果,则显式 return null。
这是我在 Whosebug 中的第一个问题,希望你能帮助我:)
所以这是我的问题:
function find_employer_by_email($email){
global $connection;
$q="SELECT * FROM employers WHERE email='{$email}' ";
$res=mysqli_query($connection, $q);
if (mysqli_num_rows($res)>0) {
return $employer = mysqli_fetch_assoc($res);
}
}
因为我的函数没有返回查询本身而是 returns assoc 数组,我应该怎么做才能释放结果 (mysqli_free_result) 而不会弄乱我的函数?
既然您要将 mysqli_fetch_assoc
的结果分配给 $employer
,为什么不让函数的那部分看起来像
$employer = null;
if (mysqli_num_rows($res) > 0) {
$employer = mysqli_fetch_assoc($res);
$res->close();
return $employer;
这样,您将始终释放结果,return 正确的对象,如果未找到任何结果,则显式 return null。