簡體   English   中英

PHP函數准備語句中的致命錯誤

[英]Fatal error in PHP function prepared statement

我正在使用准備好的語句登錄。 編譯器在存儲結果函數中給出了致命錯誤。 它不在我要顯示的結果中保存行。 我看到了解決方案,但是它們沒有用。

if($_SERVER["REQUEST_METHOD"]=="POST"){
    $sql = "SELECT * FROM login where email=? and password=?";
    $stmt= $conn->prepare($sql);

    $stmt->bind_param("ss", $_POST["email"],$_POST["password"]);
    $stmt->execute();

    //$res=$result->num_rows;
    $res=store_result();
    $row = mysqli_fetch_assoc($res);

    if ($stmt->num_rows>0) {

        // output data of each row

      while($row['admin_role']==1)
      {
        $_SESSION["email"]=$email;
        $_SESSION["id"]=$row['user_id'];
        header('Location: index.html');
        exit; 
      }
     } else {
       echo "0 results";
     }
 }

?>

根據此處的文檔以及錯誤消息,您獲取的函數名稱應為mysqli_store_result而不是store_result

您還需要提供連接變量,該變量在上面的代碼中看起來是$conn因此它將是:

mysqli_store_result($conn)

另外,我相信您可以直接使用$conn變量將其作為類方法調用,如下所示:

$conn->store_result()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM