2014-04-20 75 views
-1

在運行這段代碼,它顯示了一個錯誤mysqli_num_rows()預計參數1被mysqli_result,布爾mysqli_num_rows()布爾錯誤

請幫我找到一個解決辦法:

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

    $query="SELECT 'email_id' FROM 'user_details' WHERE 'email_id'='$email_id' AND 'password'= '$password'"; 
    $con=mysqli_connect("localhost", "root", "","idukki"); 
    $query_run = mysqli_query($con,$query); 
    $query_num_rows = mysqli_num_rows($query_run); 

    if($query_num_rows == 0) 
    { 
     echo'Invalid email and password combination'; 
    } 
    else if($query_num_rows == 1) 
    { 
     $user_id = mysqli_result($query_run,0,'email_id'); 
    } 

} 
+2

刪除列/表名中的單引號。這就是您的查詢失敗的原因。 –

+0

有數千個與該錯誤消息相關的問題。你沒有讀過他們中的任何一篇,看看如何找出問題所在? – Barmar

+0

我改變了我的代碼$ query =「SELECT email_id FROM user_details WHERE email_id = $ email_id AND password = $ password」; 但同樣的錯誤發生 –

回答

1

這是因爲您的查詢失敗,請嘗試

$query_run = mysqli_query($con, $query) or trigger_error("Query Failed! SQL: $query - Error: ".mysqli_error($con), E_USER_ERROR); 

打印確切的錯誤。

0

當你關於mysql的任何類型的錯誤你應該做的第一件事是打印出你的SQL和測試它在phpmyAdmin,如果它通過在phpmyAdmin比你在腳本中的錯誤,如果不是它是壞的sql

+0

如何在phpmyAdmin中測試?我是PHP新手 –

+0

打開phpmyadmin,轉到您的sql所指向的表,單擊SQL選項卡並將其粘貼到其中,然後單擊GO。 – PlaviZG

0

您沒有選擇數據庫。首先選擇數據庫並查看。

mysqli_select_db($con, idukki); 

打印在mysql中的任何錯誤查詢

$query="SELECT 'email_id' FROM 'user_details' WHERE 'email_id'='$email_id' AND 'password'= '$password'"; 
$result=mysqli_query($query); 
if(!$result){ 
    //print the error 
    "Query failed:" . mysqli_error($con) . "<br/>"; 
} 

這將幫助你瞭解什麼是查詢中的錯誤