當前我想在用戶登錄到系統時從兩個表中獲取兩個不同的數據。權限表是「用戶」,「user_staff」和「user_group」。但是,當用戶輸入其用戶名和密碼,並提交提示「致命錯誤:調用第26行的C:\ xampp \ htdocs \ auditsystem \ index.php中的非對象上的成員函數fetch_array()」
下面是代碼:
if($username!= "" && $password != "")
{
//INNER JOIN user_group_module_role ON user.user_group_module_role_id = user_group_module_role.id
$result = $db->query("SELECT * FROM user
INNER JOIN user_staff ON user.user_staff_id = user_staff.id
WHERE username = '$username' AND password = '$password'");
if($result->num_rows == 1)
{
$validate = $result->fetch_assoc();
$query1 = "SELECT * FROM usergroup WHERE id = $validate[user_group_id]";
$result1 = $db->query($query1);
$row1 = $result1->fetch_array();
//change here for the authority
$_SESSION['user_staff'] = $validate['displayname'];
$_SESSION['usergroup'] = $row1['user_group_type'];
echo "<script language='javascript'>window.location='panel.php'</script>";
}
else
{
echo "<script>alert('Sorry, wrong username and password please check.')</script>";
}
}
1)你必須在雙引號內的'{}'中包裝數組。 2)你想用單引號包裝索引:'$ query1 =「SELECT * FROM usergroup WHERE id = {$ validate ['user_group_id']}」; – Twisty
您的第二個查詢失敗,並且由於您沒有檢查,所以'$ result1'爲null/false,並且沒有成員函數。 – Twisty
[mysqli - fetch \ _Array錯誤調用函數在非對象mysqli]上獲取\ _array()的可能重複(http://stackoverflow.com/questions/14639965/mysqli-fetch-array-error-call - 對一個成員函數提取陣列在一個非目標) –