Php Mysqli::close()与$stmt->;关闭()

Php Mysqli::close()与$stmt->;关闭(),php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,对于如何在内部处理mysqli准备好的语句,我有点困惑 mysqli::prepare($query)返回一个mysqli\u stmt对象。文件上说,在不再需要报表后,应立即关闭报表。到目前为止,一切顺利 但是,如果调用mysqli::close(),语句是否仍然需要显式关闭?此外,语句对象是否有自己的数据库连接,并且即使在这种情况下也能继续可靠地工作: <?php $oDb = new mysqli('localhost', 'root', '', 'test'); $oStmt =

对于如何在内部处理mysqli准备好的语句,我有点困惑

mysqli::prepare($query)
返回一个
mysqli\u 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()也会关闭所有语句。
如果将此函数作为代码中的最后一个运算符调用,则也不需要调用它


所以,不用麻烦了。

此外,你可以尝试一下,或许自己回答这个问题,这是一个好问题。请注意,我问过它是否会继续“可靠地”工作。我已经开始担心仅仅测试一个案例,并得出结论认为它永远(或永远)有效。特别是在PHP中。