我正在使用预准备语句进行登录。编译器在存储结果函数中给出致命错误。它不会保存我想要显示的结果中的行。我看到了解决方案,但他们没有工作。
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";
}
}
?>
答案 0 :(得分:1)
根据文档here和错误消息,您获取的函数名称应为mysqli_store_result
而不是store_result
。
您还需要提供连接变量,查看上面的代码似乎是$conn
所以它会是:
mysqli_store_result($conn)
或者我相信您可以直接使用$conn
变量将其称为类方法,如下所示:
$conn->store_result()