2011-01-08 84 views
10

Hola chicos, estoy recibiendo la advertencia anterior cuando trato de ejecutar este código:Warning: mysql_fetch_array() espera parámetro de 1 a ser el recurso, objeto dado

$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

posible duplicado de [Advertencia: mysql_fetch_ * espera que el parámetro 1 sea resource, boolean given error] (http://stackoverflow.com/questions/11674312/warning-mysql-fetch-expects-parameter-1-to-be -resource-boolean-given-error) – j0k

+0

posible duplicado de ["Advertencia: mysql_fetch_array() espera que el parámetro 1 sea un recurso, boolean dado" error al intentar crear un carrito de compras php] (http://stackoverflow.com/questions/9481963/warning-mysql-fetch-array-expects-parameter-1-to-be-resource-boolean-given) –

Respuesta

5

Usted está mezclando y mysqlimysql comandos tradicionales .

Use $result->fetch_array().

+0

La primera línea también debe usar $ mysqli-> connect_error, no mysql_error(). –

+0

Pero ahora aparece: Error fatal: llamada al método indefinido mysqli_stmt :: fetch_array() en /var/www/JMToday/loginchk.php en la línea 52 –

+0

@Sam, necesita usar 'query()' en lugar de 'execute () ', que devuelve un objeto de resultado que contiene el método' fetch_array'. Vea aquí para un ejemplo completo: http://php.net/manual/en/mysqli.query.php –

39

Usted está mezclando mysql y mysqli llamadas en su código. Utilice mysqli_fetch_array en lugar de mysql_fetch_array.

+2

Muchas gracias, esto resuelve mi problema :-)) – flipperweid

Cuestiones relacionadas