2014-02-09 79 views
-1
function isValidUser($dbc,$email) 
    { 

     $sql=sprintf("select id from user where email = '%s' and password ='%s' ", $_POST['email'],$_POST['password']); 
     $qresult = mysqli_query($dbc,$sql);//line 18 
     $test = mysqli_fetch_array($qresult);//line 19 
     echo $test[0]; 
     if(mysqli_num_rows($qresult)>0)//line21 
     { 
      echo "User Exists"; 
      return true; 
     } 
     else 
     { 
      echo "Not a User"; 
      return false; 
     } 
    } 

給予我想,也許我有一些範圍有關的問題(按類似問題的其他計算器答覆),但我不似乎understand.I是新來的PHP任何人都可以告訴我如何糾正這一點。mysqli_query()預計參數1是mysqli的,對象

mysqli_query() expects parameter 1 to be mysqli, object given in... line 18 
mysqli_fetch_array() expects parameter 1 to be mysqli, null given in line 19 
mysqli_num_rows() expects parameter 1 to be mysqli, null given in line 21 
+1

檢查$ DBC如果我沒看錯你正在使用的mysql_connect()函數沒有mysqli_connect() –

+0

但我使用mysqli_connect()只 – ghost

+2

'的var_dump($ dbc)'裏面的那個函數。如果它沒有報告一個mysqli對象,那麼在調用這個函數的地方你會傳入一個不正確的參數。另外,你可以[SQL注入攻擊](http://bobby-tables.com)。 –

回答

-1

試試這個:

function isValidUser($dbc,$email) 
    { 
     $email = $_POST['email']; 
     $host = ""; 
     $username = ""; 
     $password_mysql = ""; 
     $database =""; 

     $password = $_POST['password']; 
     $link = mysqli_connect($host, $username, $password_mysql, $database); /* hard code the connection variables in to test if something is wrong here. */ 
     $sql="select id from user where email = '".$email."' and password ='".$password."'"; 
     $qresult = mysqli_query($link,$sql);//line 18 
     $test = mysqli_fetch_array($qresult, MYSQLI_BOTH);//line 19 
       while($test = mysqli_fetch_array($qresult, MYSQLI_BOTH)){  
       echo $test['id']."<br>"; 
       }; 
     if(mysqli_num_rows($qresult)>0)//line21 
     { 
      echo "User Exists"; 
      return true; 
     } 
     else 
     { 
      echo "Not a User"; 
      return false; 
     } 
    } 
+0

B.T.W.你的函數isValidUser接收變量$ email兩次。一旦調用該函數,並通過POST檢索到該函數兩次。 –

+0

是的,它仍然顯示相同的錯誤@Mr。部首 – ghost

+0

@ghost我認爲這個問題可能在'mysqli_query'中。首先檢查一下,如果所有東西都可以工作,那麼只需輸入主機,用戶名等。在變量'$ link'中。圍繞你的價值使用引號。 –

相關問題