PHP - 关闭准备好的 stmt


PHP - close prepared stmt

我指的是这个

我有类似的东西

  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();

它将关闭语句。