Foros del Web » Programando para Internet » PHP »

Problemas con UPDATE

Estas en el tema de Problemas con UPDATE en el foro de PHP en Foros del Web. Saludos, estoy haciendo un UPDATE en una tabla y me sale el siguiente error: "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource ...
  #1 (permalink)  
Antiguo 24/11/2005, 13:32
 
Fecha de Ingreso: septiembre-2004
Mensajes: 18
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Problemas con UPDATE

Saludos, estoy haciendo un UPDATE en una tabla y me sale el siguiente error:

"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\wamp\www\roche\demo\pregunta2.php on line 33
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE cod_usu = 137' at line 1"


El código que tengo para realizar el update es el siguiente, la verdad no veo en donde pueda ser el error, les agradecería mucho si me pueden ayudar.

// Actualizo la tabla de puntajes de acuerdo a la respuesta del usuario
$SQLquery_puntajes = "UPDATE puntajes SET resp_trivia = '$voto', resp_bien = '$bien', resp_mal = '$mal', resp_time = '$hora', resp_tot = 5, WHERE cod_usu = $cod_usuario";
mysql_select_db($database_roche,$roche);
$SQLresult_puntajes = mysql_query($SQLquery_puntajes,$roche);
$nroRegistros = mysql_num_rows($SQLresult_puntajes);
if ($nroRegistros ==0){
$error = die(mysql_error());
$strMsgErr = "Error al tratar de actualizar los datos. Por favor revise sus datos e intente nuevamente <br>".$error;
echo $strMsgErr;
}

Gracias de nuevo por su colaboración.
  #2 (permalink)  
Antiguo 24/11/2005, 14:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A una sentencia "UPDATE" de SQL ejecutada no puedes aplicar un "mysql_num_rows()" .. a lo sumo un "mysql_affected_rows()"

http://www.php.net/mysql_affected_rows

Pero si quieres ver si tu consulta SQL se ejecutó o no .. tan sólo puedes hacer simplemente:

Código PHP:
if ([email protected]mysql_query(.......)){
echo 
"no se ejecutó";

No hace falta ni que asignes el resultado a una variable .. (o ID de recurso) .. por qué un "INSERT o UPDATE . .o DELELTE" al ejecutarlo tan sólo devuelve un "true o false" nada más ...

Un saludo,
  #3 (permalink)  
Antiguo 24/11/2005, 14:16
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 12 años
Puntos: 5
hola jguzmansu, segun lo que indicas en tu mensaje pueden ser dos cosas, una seria que tu consulta no esta bien , seria bueno que muestres la consulta con un echo o un printf y la ejecutes en un frontend para ver si se ejecuta correctamente.
otra cosa que puede fallar talvez sea que estas usando mysql_num_rows() para un update y segun se es solo para los SELECTS, ahora si quieres conocer el numero de filas afectadas por tu update deberias usar mysql_affected_rows(), prueba con eso y ve como te va
  #4 (permalink)  
Antiguo 24/11/2005, 14:37
 
Fecha de Ingreso: septiembre-2004
Mensajes: 18
Antigüedad: 13 años, 3 meses
Puntos: 0
Gracias a todos, corregi el código quitando mysql_num_rows y funcionó, la verdad soy nuevo en esto de PHP y es normal que cometa este tipo de errores. Muchas gracias a todos.
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 12:21.