有人可以告诉我,例如你更新,插入,删除..你应该像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();
?
答案 0 :(得分:9)
PDO没有close()方法,而是关闭连接,只需将数据库变量设置为null - 这将关闭连接。
$stmt = null;
要回答第二个问题,您只需关闭一次连接即可。在执行完所有需要在数据库上执行的查询之后。
答案 1 :(得分:3)
好像你正在使用mysqli close方法。 $ stmt-> close()方法只是关闭先前打开的数据库连接(http://www.php.net/manual/en/mysqli.close.php)。
编辑:如果您使用的是PDO,我根本就不明白,为什么您不利用命名参数而不是问号的可能性。也就是说,为什么很多人选择PDO而不是mysqli - 你可能会更好地全面了解查询/语句。