PHP MYSQL:mysqli_free_result

时间:2015-04-05 02:52:49

标签: php mysql function mysqli

这是我在stackoverflow中的第一个问题,希望你帮助我:)。

所以这是我的问题:

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);
  }
}

因为我的函数没有返回查询本身,而是返回了关联数组,我应该怎样做才能释放结果(mysqli_free_result)而不会弄乱我的函数?

1 个答案:

答案 0 :(得分:1)

由于您要将mysqli_fetch_assoc的结果分配给$employer,为什么不让这部分功能看起来像

$employer = null;
if (mysqli_num_rows($res) > 0) {
    $employer = mysqli_fetch_assoc($res);
$res->close();
return $employer;

这样,你将永远释放你的结果,返回正确的对象,如果没有找到结果,则显式返回null。