我正在使用准备好的语句进行登录。编译器在存储结果函数中给出了一个致命错误。它没有保存我想要显示的结果中的行。我看到了解决方案,但它们不起作用。
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()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句