php函数准备语句中的致命错误

时间:2017-07-09 11:17:57

标签: php web mysqli phpmyadmin

我正在使用预准备语句进行登录。编译器在存储结果函数中给出致命错误。它不会保存我想要显示的结果中的行。我看到了解决方案,但他们没有工作。

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";
     }
 }

?>

1 个答案:

答案 0 :(得分:1)

根据文档here和错误消息,您获取的函数名称应为mysqli_store_result而不是store_result

您还需要提供连接变量,查看上面的代码似乎是$conn所以它会是:

mysqli_store_result($conn)

或者我相信您可以直接使用$conn变量将其称为类方法,如下所示:

$conn->store_result()