Foros del Web » Programando para Internet » PHP »

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

Estas en el tema de Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in en el foro de PHP en Foros del Web. hola: Necesito una pequeña ayuda Estoy haciendo una consulta sql para actualizar un usuario y me salta este error Para verificar si la consulta sql ...
  #1 (permalink)  
Antiguo 12/01/2010, 21:31
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

hola:
Necesito una pequeña ayuda
Estoy haciendo una consulta sql para actualizar un usuario y me salta este error
Para verificar si la consulta sql estaba tomando todos los valores hice un echo y el resultado obtenido es aparentemente correcto

UPDATE usuarios SET nombreUsuario='Marcos' WHERE emailUsuario='[email protected]'
la conexion a la base de datos esta correcto

?
session_start();
include 'db.php';

date_default_timezone_set('America/Montevideo');
setlocale(LC_TIME, 'spanish');
$fecha = date("Y-m-d H:i:s");
// echo $_GET['Nombre'] ;
// echo $_GET['Apellido'] ;
// echo $_GET['Password'] ;
// echo $_GET['RePassword'] ;
//echo $_GET['Email'] ;
// todos estos echos me devuelven los datos esperados
$Nombre=($_GET['Nombre']);
$Apellido=($_GET['Apellido']);
$Email=$_GET['Email'];
$Password=$_GET['Password'];

$consultaSql="UPDATE usuarios SET nombreUsuario='$Nombre'WHERE emailUsuario='$Email'";
echo $consultaSql;
$res = mysql_query($consultaSql);
if (mysql_num_rows($res)) // esta es la sentencia que me provoca el error
{ $row = mysql_fetch_array($res); }

Desde ya muchas gracias por ayudarme a continuar

Última edición por marcos46g; 12/01/2010 a las 21:51
  #2 (permalink)  
Antiguo 12/01/2010, 21:40
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 10 meses
Puntos: 7
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Cita:
"UPDATE usuarios SET nombreUsuario='$Nombre'WHERE emailUsuario='$Email'";
prueba poniendo un espacio entre '$Nombre' WHERE
  #3 (permalink)  
Antiguo 12/01/2010, 21:52
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

No era eso lamentablemente .
  #4 (permalink)  
Antiguo 12/01/2010, 22:00
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 10 meses
Puntos: 7
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

oh! No funciona porque lo que estas haciendo es una actualizacion a la base de datos y no una consulta, por eso es que el error dice que mysql_num_rows() no esta recibiendo una fuente de resultados válida. eso solo lo puedes hacer (si no me equivoco) para las sentencias SELECT, SHOW, EXPLAIN...
ya que cuando haces un UPDATE mysql_query() solo devuelve VERDADERO o FALSO

oops por no haberme fijado antes :P
  #5 (permalink)  
Antiguo 12/01/2010, 23:14
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 16 años
Puntos: 1
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

pues si te lo acaban de decir muy claramente las sentencias de actualizacion y de insercion no te devuelven datos simplemente te devuelven un valor logico de si o no por lo cual la unica forma de saber si se modifico o no seria haciendo algo como

if(mysql_query($sql)){
echo 'Correcto';
}
else
{
echo 'error identificado : '.mysql_error($id_conexion);
}

saludos
__________________
█ Luis Toscano - CodeMaster
Codigolandia.com
Foros Del Hosting
  #6 (permalink)  
Antiguo 13/01/2010, 17:35
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Muchisimas GRACIAS a todos.
  #7 (permalink)  
Antiguo 13/01/2010, 17:55
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 8 meses
Puntos: 7
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

ponlo asi en tu consulta.

Código PHP:
Ver original
  1. $consultaSql="UPDATE usuarios SET nombreUsuario='$Nombre' WHERE emailUsuario='$Email'";
  2. $res = mysql_query($consultaSql) or die(mysql_error());

saludos.
  #8 (permalink)  
Antiguo 13/01/2010, 19:20
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 7 meses
Puntos: 11
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

La función que habrías querido usar era mysql_affected_rows.

Saludos.
  #9 (permalink)  
Antiguo 13/01/2010, 19:21
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Este comentario es sólo para complementar algo que se ha dicho aquí, ya que ya se halló la solución al problema planteado inicialmente.

Cita:
Iniciado por talcualvip Ver Mensaje
La unica forma de saber si se modifico o no seria haciendo algo como

[...]
No. Con eso sólo verificas si la consulta SQL fue correctamente planteada y se ejecutó sin errores.

Así como para SELECT tienen a mysql_num_rows(), para sentencias como UPDATE o DELETE, que ciertamente no devuelven información, podemos usar mysql_affected_rows() para poder comprobar que efectivamente se modificó una o dos o N filas en la tabla, lo cuál es completamente distinto a verificar si la consulta se ejcutó con éxito (Una consulta ejecutada con éxito podría no haber modificado ningún registro en la tabla).



EDITO: Choqué con xbx
  #10 (permalink)  
Antiguo 13/01/2010, 21:05
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 16 años
Puntos: 1
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

buena por esa okram siempre estamos para aprender saludos
__________________
█ Luis Toscano - CodeMaster
Codigolandia.com
Foros Del Hosting

Etiquetas: mysql, result, warning, argumentos
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:34.