免费结果集数据mysqli_result :: free

时间:2015-08-19 20:23:46

标签: php mysql

从我的学习中我了解到,在操作/使用查询数据之后,应该释放结果集数据。我试图在以下代码上下文中使用mysqli_result::free pdo:

if ($result) 
   { $change = $result[0][9];
 $change = $change+1;
 $sql='UPDATE users SET visits = :visit WHERE username = :username';
 $q=$dbh->prepare($sql);
 $q->bindValue(':username',$username,PDO::PARAM_STR);
 $q->bindValue(':visit',$change,PDO::PARAM_INT);
 $q->execute();
  // initiate SESSION and Set USER SESSION Variables through the  --session_handler.php
require ('./includes/session_handler.php');
//Free the Query Result set to free memory on the database handler
$result->free();
// direct registered users to MEMBER_ZONE.php for registered users interface
header('Location: member_zone.php');    
                                exit(); 
   }

我收到的消息是: 致命错误:在...中调用未定义的方法PDOStatement :: free()

我在http://php.net/manual/en/mysqli-result.free.php以及Google上进行了研究,没有找到示例代码来进一步阐明其应用。

在此网站上的示例:mysqli_result::free increase php memory usage 这里令人困惑:在此代码中是否应该释放$row

这里Are mysqli_result::free and mysqli_stmt::free_result the same?

这里有两种形式的free_result()free()一起使用。

我似乎无法找到我的错误或明确的用法示例。我很感激任何意见。

1 个答案:

答案 0 :(得分:0)

似乎我在结果上使用$q->free(),结果从未出现,因为我正在更新数据库,而不是请求结果。语法似乎正确使用。这是我的使用顺序,我认为这是错误的。