[英]Fetching Data from MySQL using PHP & jQuery and displaying in HTML table matching the user ID
[英]fetching user ID from a table using mysqli and PHP
我試圖讓用戶登錄並從數據庫中的表獲取他們的“ 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();
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.