Foros del Web » Programando para Internet » PHP »

Problema con el argumento de mysql_fetch_array();

Estas en el tema de Problema con el argumento de mysql_fetch_array(); en el foro de PHP en Foros del Web. Estoy reciibiendo este mensaje de error: Código: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /xxxx/xxxxxxxx/xxxxxxxl/iframe.php on line 7 El error ...
  #1 (permalink)  
Antiguo 08/11/2012, 20:16
 
Fecha de Ingreso: abril-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 0
Problema con el argumento de mysql_fetch_array();

Estoy reciibiendo este mensaje de error:
Código:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL 
result resource in /xxxx/xxxxxxxx/xxxxxxxl/iframe.php on line 7
El error ocurre porque en el argumento del mysql_fetch_array puse esto:
Código:
("SELECT (message) FROM (messages) WHERE contador=$_SESSION['contador']);
si elmino la parte del WHERE, el error desaparece, por lo tanto deduje que lo que causa el error es la variable $_SESSION['contador'].
No entiendo por qué ya que esa variable contiene un valor entero, viene desde esta otra página:

Código:
mysql_query("INSERT INTO messages (user,message) VALUES ('$user', '$message')");
$_SESSION['contador']=mysql_insert_id();
o sea que con esa variable de session, estoy usandolas primary key rescatadas por el mysql_insert_id(). Son números!

Si hago un "echo $_SESSION['contador']" siempre me tira números, asi que agradecería que alguien me explique a que se debe el warning.
  #2 (permalink)  
Antiguo 08/11/2012, 20:25
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 137
Respuesta: Problema con el argumento de mysql_fetch_array();

Lo estas usando asi (correcto)
Código PHP:
Ver original
  1. $query = mysql_query("SELECT (message) FROM (messages) WHERE contador=$_SESSION['contador']");

O asi (incorrecto)?
Código PHP:
Ver original
  1. $query = ("SELECT (message) FROM (messages) WHERE contador=$_SESSION['contador']");
  #3 (permalink)  
Antiguo 08/11/2012, 20:31
 
Fecha de Ingreso: abril-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con el argumento de mysql_fetch_array();

ese no es el argumento de mysql_query, sino el de mysql_fecth_array. Lo aclaré arriba del código.

Código PHP:
Ver original
  1. mysql_fetch_array("SELECT (message) FROM (messages) WHERE contador=$_SESSION['contador']);
  #4 (permalink)  
Antiguo 08/11/2012, 20:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema con el argumento de mysql_fetch_array();

A la función mysql_fetch_array debes pasarle el resultado (result) de la función mysql_query (No la consulta como lo estás haciendo). Además debes cerrar las comillas y encerrar en llaves $_SESSION['contador']

Parámetros de la función:

Cita:
array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )
Cita:
resource mysql_query ( string $query [, resource $link_identifier = NULL ] )
Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 09/11/2012, 15:42
 
Fecha de Ingreso: abril-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con el argumento de mysql_fetch_array();

lo que tengo en el código es esto:

Página 1
Código PHP:
Ver original
  1. mysql_query("INSERT INTO messages (user,message) VALUES ('$user', '$message')");
  2. $_SESSION['contador']=mysql_insert_id();

Página 2
Código PHP:
Ver original
  1. $contador=$_SESSION['contador'];
  2. $query= mysql_query("SELECT (message) FROM (messages) WHERE contador=$contador");
  3. $fila=mysql_fetch_array($query);

y el error me lo tira en la linea 3 de la pagina 2.

Etiquetas: chat, fila, mysql, mysql_fetch_array, warning
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:29.