Foros del Web » Programando para Internet » PHP »

mysql_num_rows devuelve warning

Estas en el tema de mysql_num_rows devuelve warning en el foro de PHP en Foros del Web. Amigos, tengo la sentencia en donde hago una consulta a mi bd, despues quiero saber si la sentencia encontro el registro solicitado en el query, ...
  #1 (permalink)  
Antiguo 24/08/2014, 09:50
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Pregunta mysql_num_rows devuelve warning

Amigos, tengo la sentencia en donde hago una consulta a mi bd, despues quiero saber si la sentencia encontro el registro solicitado en el query, al final lo hace pero me envia un mensaje warning y ya he intentando cambiar la sentencia pero sigue mandando el mensaje:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in...

Agradezco mucho su ayuda!

Aqui el codigo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. include("connect_db.php");
  4.  
  5. //Datos que se recogen del formulario  
  6. $rpee = $_POST["rpee"];
  7. $dpto = $_POST["listas"];
  8.  
  9. $consulta_info = mysql_query("SELECT rpe FROM '$dpto' WHERE rpe='".$rpee."'", $conexion);
  10. $resultado = mysql_num_rows($consulta_info);
  11.  
  12. if($consulta_info = '0'){
  13. echo 'No se encontro registro en la tabla';
  14. }else{
  15. echo'Se encontro registro en la tabla!';
  16. }
  17.  
  18. ?>
  #2 (permalink)  
Antiguo 24/08/2014, 10:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: mysql_num_rows devuelve warning

Tienes un error de sintaxis a nivel MySQL.
Estás poniendo el nombre de la tabla entre apóstrofos ('), cuando sólo pueden usarse acentos agudos allí (´). MySQL no los interpreta de la misma forma, y el nombre de la tabla queda como una cadena de texto, lo que sin duda dispara un error de sintaxis.
Lamentablemente no estás verificando que la query se ejecute sin errores, algo básico en la programación, por lo que no lo estás detectando. Tu asumes que la cosa anduvo bien, no lo verificas.

Al menos ponle un "or die()" para eso.

Además de eso, en el if() estás haciendo una asignación y no una comparación, que para el caso sólo requiere poner "if($consulta_info)", y no compararla con algo. A esto sumale que lo has puesto en el lugar equivocado: después de ver la cantidad de registros... cuando aún no sabes si pudo ejecutarse.


Código PHP:
Ver original
  1. <?php
  2.  
  3. include("connect_db.php");
  4.  
  5. //Datos que se recogen del formulario  
  6. $rpee = $_POST["rpee"];
  7. $dpto = $_POST["listas"];
  8.  
  9. $consulta_info = mysql_query("SELECT rpe FROM '$dpto' WHERE rpe='".$rpee."'", $conexion) or die("Error al ejecutar la consulta: ".mysql_error());
  10.  
  11. if($consulta_info){
  12. echo 'No se encontro registro en la tabla';
  13. }else{
  14. echo 'Se encontro registro en la tabla!';
  15.  $resultado = mysql_num_rows($consulta_info);
  16. }
  17.  
  18. ?>
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/08/2014, 10:36
 
Fecha de Ingreso: abril-2014
Mensajes: 37
Antigüedad: 10 años
Puntos: 2
Respuesta: mysql_num_rows devuelve warning

No se si lo obviaste para el post, pero no veo donde defines "$conexion"?

Ya está en el archivo connect_db.php?

En caso contrario, definelo, si ya está definido, trata primero de probar la consulta directamente en la base de datos, phpmyadmin o el manejador que estés usando para ver si es un error de consulta o error tuyo en php.
  #4 (permalink)  
Antiguo 24/08/2014, 10:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: mysql_num_rows devuelve warning

El problema no es la conexión.
Si fuese, hubiese fallado al enviar la querer, y no al verificar el resultado. El problema es que el resultado es nulo por contener una query más formada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: filas, numero, 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 07:55.