gpt4 book ai didi

php - 使用mysqli和PHP从表中获取用户ID

转载 作者:行者123 更新时间:2023-11-30 00:33:11 24 4
gpt4 key购买 nike

我试图让用户登录并从数据库中的表获取他们的“ id”,以便我可以使用它来将SESSION设置为true。我能够让用户登录,但是当我尝试获取用户ID时,我仍然收到相同的错误...警告:mysqli_fetch_assoc()期望参数1为mysqli_result,给定布尔值...这是我的代码:

    if(isset($_POST['login'])){
$email = $_POST['userEmail'];
$password = $_POST ['userPass'];
$passwordHash = md5($password);

if(!empty($email) && !empty($password)){

$query = "SELECT email, password FROM users WHERE email=? AND password=?";
if($stmt = $DB->prepare($query)){
$stmt->bind_param('ss',$email,$passwordHash);
$stmt->execute();
$stmt->bind_result($email,$passwordHash);
$stmt->store_result();

if($stmt->num_rows==1){
echo 'logged in';
$getID = mysqli_fetch_assoc(mysqli_query($DB, "SELECT userID FROM users"));
echo $userID = $getID['userID'];
}
else{
echo 'Invalid Email or Password';
}
$stmt->close();
}
}
else{
echo 'You must enter an email and pass.';
}

}
$DB->close();


请帮助,这对我来说非常沮丧。

最佳答案

您的查询返回false,因为失败。

在单独的安全页面上,我们将调用restricted/connect.php

<?php
function db(){
return new mysqli('host', 'username', 'password', 'database');
}
?>


在您的 whatever.php页面上:

<?php
include 'restricted/connect.php'; $db = $db();
if(isset($_POST['login'])){
$cf = 'Connection Failure: ';
if($db->errno)die($cf.$db->error);
$email = $_POST['userEmail']; $password = $_POST['userPass'];
$passwordHash = md5($password);
if(!empty($email) && !empty($password)){
if($qry = $db->query("SELECT email, password, userID FROM users WHERE email='$email' AND password='$passwordHash'")){
if($qry->num_rows > 0){
$res = $qry->fetch_object(); echo 'Logged in as: '.$res->userID;
}
else{
echo 'Invalid Email or Password';
}
}
else{
die($cf.$db->error);
}
$qry->free();
}
else{
echo 'Please Enter an Email and Password';
}
}
$db->close();
?>

关于php - 使用mysqli和PHP从表中获取用户ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22365581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com