我指的是这个
我有类似的东西
function getData(){
$query = "SELECT * FROM users WHERE emailID=?";
$stmt = mysqli_prepare($query);
if(false == $stmt){
//handleerror Call
}
$bindParam = mysqli_stmt_bindParam($stmt,"s","a@a.com");
if(false == $bindParam){
**Do I need to close stmt here?**
//handleError
}
$execute = mysqli_stmt_execute($stmt);
if(false == $execute){
**Do I need to close stmt here?**
//handle error
}
**Or Stmt will automatically get closed at the end of a function?**
}
任何建议如何关闭 stmt?
我的疑问是我应该打电话到哪里?还是 PHP 会在函数末尾自动关闭每个语句?因为范围到此为止。
我知道如何打电话。但是我想知道我应该在这种情况下调用还是在函数结束时自动关闭php。
如果你不自己关闭它,PHP 会在脚本/函数结束时完成。但是,当您不再需要它时,您"应该"关闭它。例如,当发生错误时,您可能不需要它。
function getData(){
$query = "SELECT * FROM users WHERE emailID=?";
$stmt = mysqli_prepare($query);
if(false == $stmt){
//handleerror Call
}
$bindParam = mysqli_stmt_bindParam($stmt,"s","a@a.com");
if(false == $bindParam){
//handleError
mysqli_close_stmt($stmt)
print "Binding failed";
}
$execute = mysqli_stmt_execute($stmt);
if(false == $execute){
mysqli_close_stmt($stmt)
//handle error
}
//if you haven't closed, PHP will close it now
}
$stmt->close();
它将关闭语句。