我对如何在内部处理mysqli的预处理语句感到有些困惑。
mysqli::prepare($query);
会返回mysqli_stmt
个对象。文档说明语句应在不再需要后立即关闭。到目前为止,非常好。
但是,如果我打电话给mysqli::close()
,还是需要明确关闭吗?此外,语句对象是否具有自己的数据库连接,并且即使在如下情况下也将继续可靠地工作:
<?php
$oDb = new mysqli('localhost', 'root', '', 'test');
$oStmt = $oDb->prepare("INSERT INTO tbl_test (a,b,c) VALUES (?,?,?)");
$oDb->close();
$oStmt->bind_param('sss', 'Hello', 'World', '!');
$oStmt->execute();
//do some more stuff
$oStmt->close();
或者调用mysqli::close()
还会关闭所有陈述吗?
答案 0 :(得分:1)
是的,调用mysqli :: close()也会关闭所有语句 如果您将此函数作为代码中的最后一个运算符,则无需调用它。
所以,请不要打扰。