Foros del Web » Programando para Internet » PHP »

Warning: mysql_num_rows() expects parameter 1...

Estas en el tema de Warning: mysql_num_rows() expects parameter 1... en el foro de PHP en Foros del Web. Hola a todos, como estan? Me tira este error: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\tecnocursos2\resultados.php on line 5 En ...
  #1 (permalink)  
Antiguo 12/04/2010, 22:18
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Pregunta Warning: mysql_num_rows() expects parameter 1...

Hola a todos, como estan?

Me tira este error:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\tecnocursos2\resultados.php on line 5

En la linea 5 está justo este codigo:
Código PHP:
$totalRows_resultados=mysql_num_rows($sSQL); 
Lo raro es que me lo tira a veces, eso es lo que no entiendo, si algo estaria mal me debería tirar siempre el error.
Las veces que NO me lo tira, la consulta se hace perfectamente, dejo codigo:


Código PHP:
//Conexion con la base
mysql_connect("localhost","user","pass")or die ('Ha fallado la conexión: '.mysql_error());

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("base")or die ('Error al seleccionar la BD: '.mysql_error());


//Creamos la sentencia SQL y la ejecutamos   

$sSQL=mysql_query("SELECT * FROM profesionales WHERE pais = '$pais' AND especialidad  RLIKE '$especialidad ' ORDER BY precio DESC");
$totalRows_resultados=mysql_num_rows($sSQL); 

echo 
$totalRows_resultados;

while(
$row mysql_fetch_array($sSQL))
{
echo 
$row['nombre'];echo '<br />';

Si alguien sabe que pasa, por favor ayudeme, gracias a todos
  #2 (permalink)  
Antiguo 13/04/2010, 01:12
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Warning: mysql_num_rows() expects parameter 1...

la consulta no te esta devolviendo un resourse, no se esta ejecutando el query, debugue la consulta como haces con la conexion y la seleccion de la base de datos
  #3 (permalink)  
Antiguo 13/04/2010, 02:19
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años
Puntos: 8
Respuesta: Warning: mysql_num_rows() expects parameter 1...

tu problema es en el RLIKE

cambia tu consulta a esta manera

Código SQL:
Ver original
  1. SELECT * FROM profesionales WHERE pais = '$pais' AND especialidad  LIKE '%$especialidad%' ORDER BY precio DESC


pruebalo y me dices que pasa
  #4 (permalink)  
Antiguo 13/04/2010, 03:53
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Warning: mysql_num_rows() expects parameter 1...

Cita:
Iniciado por duskrow Ver Mensaje
tu problema es en el RLIKE

cambia tu consulta a esta manera

Código SQL:
Ver original
  1. SELECT * FROM profesionales WHERE pais = '$pais' AND especialidad  LIKE '%$especialidad%' ORDER BY precio DESC


pruebalo y me dices que pasa
RLIKE es para utilizar patrones de expresiones regulares, esta bien planteado el argumento, el problema se puede deber a que un campo no existe en la tabla, o que no exista la tabla profesionales dentro de esa bd
  #5 (permalink)  
Antiguo 13/04/2010, 06:43
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Warning: mysql_num_rows() expects parameter 1...

Haz lo que dice samu22, se hace así, así verás que tabla concreta falla.

Código PHP:
Ver original
  1. $totalRows_resultados== mysql_fetch_array($sSQL) or die(mysql_error());
  #6 (permalink)  
Antiguo 13/04/2010, 10:38
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Warning: mysql_num_rows() expects parameter 1...

Hola , las tablra y los campos existen en la bd....
Me sigue tirando el error...

Uso RLIKE para buscar el el campo "especialidad" una palabra especifica con un espacio al final , por ejemplo:

si en el campo tengo guardadas la especialidades :

electricidad plomeria gas

todas separadas por un espacio, inclusive la ultima, en este caso sería "gas ".

Entonces cuanco ejecuto la consulta le pongo asi

SELECT * FROM profesionales WHERE pais = '$pais' AND especialidad RLIKE '$especialidad ' ORDER BY precio DESC

En la variable '$especialidad ' le dejo un espacio entes de la ultima comilla, asi me busca la especialidad con un espacio al final... se entiende?

Esto lo hice sin saber mucho del asunto, quizas es esto lo que trae el conflicto,
si alguien sabe por favor ayuda...!!!

gracias a los que contestaron, un saludo

REPITO: ESTE ERROR ME LO TIRA A VECES Y OTRAS VECES NO ME LO TIRA, ESTO ES LO QUE NO ENTIENDO, COMO PUEDE SER QUE AVECES SI Y OTRAS NO.


LA BUSQUEDA LA HAGO SIEMPRE ELIGIENDO LAS MISMAS OPCIONES EN EL FORMULARIO PREVIO A ESTA CONSULTA.

Etiquetas: 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 18:29.