2011-01-08 12 views
10

Hey ragazzi, sto ricevendo l'avviso di cui sopra, quando si tenta di eseguire questo codice:Warning: mysql_fetch_array() si aspetta parametro 1 per essere risorsa, oggetto dato

$mysqli=new mysqli("localhost", "***", "***","***") or die(mysql_error()); 


       function checklogin($username, $password){ 
       global $mysqli; 


       $result = $mysqli->prepare("SELECT * FROM users WHERE username = ?"); 
       $result->bind_param("s", $username); 
       $result->execute(); 

      if($result != false){ 

       $dbArray=mysql_fetch_array($result); 
+0

possibile duplicato di [Avviso: mysql_fetch_ * si aspetta che il parametro 1 sia risorsa, errore dato booleano] (http://stackoverflow.com/questions/11674312/warning-mysql-fetch-expects-parameter-1-to-be -resource-boolean-given-error) – j0k

+0

possibile duplicato di ["Warning: mysql_fetch_array() si aspetta che il parametro 1 sia risorsa, booleano dato" errore durante il tentativo di creare un carrello acquisti php] (http://stackoverflow.com/questions/9481963/warning-mysql-fetch-array-expects-parameter-1-to-be-resource-boolean-dato) –

risposta

5

si stia mescolando mysqli e tradizionali mysql comandi .

Utilizzare $result->fetch_array().

+0

La prima riga dovrebbe anche usare $ mysqli-> connect_error, non mysql_error(). –

+0

Ma ora ottengo: Errore irreversibile: chiamata al metodo non definito mysqli_stmt :: fetch_array() in /var/www/JMToday/loginchk.php sulla riga 52 –

+0

@Sam è necessario usare 'query()' invece di 'execute () ', che restituisce un oggetto risultato che contiene il metodo' fetch_array'. Vedi qui per un esempio completo: http://php.net/manual/en/mysqli.query.php –

39

si stia mescolando mysql e mysqli chiamate nel codice. Utilizzare mysqli_fetch_array anziché mysql_fetch_array.

+2

Grazie mille, questo risolve il mio problema :-)) – flipperweid

Problemi correlati