Mysqli 语句的 'close()' 方法是什么?


What does the `close()` method of the Mysqli Statement?

有人可以告诉我,例如,当您更新,插入,删除时,您应该像mysqli_stmt::close();一样关闭它吗?我检查了PHP手册,不明白close()实际做了什么。

例:

$stmt = $dbh->prepare("SELECT `user_email` FROM `users` WHERE `user_email` = ? LIMIT 1");
$stmt->execute(array($email));
$stmt->close();

我的问题的下一部分是,如果作为一个例子,我在事务中执行的每个查询的每个execute()后在事务中有多个更新查询,我应该单独关闭它们吗?因为这是一个不确定我需要在每次执行后使用 $stmt->close();() 的事务;或者只是在所有这些之后使用一个$stmt->close();

PDO没有close()方法,相反,要关闭连接,您只需将数据库变量设置为null - 这将关闭连接。

$stmt = null;

要回答第二个问题,您只需关闭连接一次。在对数据库执行了需要执行的所有查询之后。

似乎您正在使用mysqli关闭方法。$stmt->close() 方法只是关闭关闭先前打开的数据库连接 (http://www.php.net/manual/en/mysqli.close.php)。

编辑:如果您使用的是PDO,我根本不明白,为什么您不利用命名参数而不是问号的可能性。也就是说,为什么很多人选择PDO而不是mysqli - 您可能会对查询/语句有更好的全面视图。