Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/01/2011, 02:08
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: urgente error mysql_num_rows() expects parameter 1 to be resource, boolean

Esto no va aquí si no en PHP.

Lo que nos pasas es un script PHP no la bbdd.

Estas haciendo dos consultas a la bbdd primero

Código PHP:
Ver original
  1. //Construyes la consulta
  2. $sql="select count(*) as cuantos from claves
  3.           where
  4.           codigo like '%".$_GET["s"]."%'
  5.           or
  6.           direccion like '%".$_GET["s"]."%'
  7.           or
  8.           nombre like '%".$_GET["s"]."%'";
  9.  
  10. //Pides que se ejecute la consulta
  11. $res=mysql_query($sql,$con);
  12.  
  13. //[B]Si da algun [/B]resultado lo lees
  14. if ($reg=mysql_fetch_array($res)){
  15.           $total=$reg["cuantos"];
  16. }

Si aqui hicieras echo $total te mostraria el valor de "cuantos"

En cambio luego haces

Código PHP:
Ver original
  1. //Construyes la consulta
  2.  
  3. $sql="select * from claves
  4.           where
  5.           codigo like '%".$_GET["s"]."%'
  6.           or
  7.           direccion like '%".$_GET["s"]."%'
  8.           or
  9.           nombre like '%".$_GET["s"]."%'
  10.           limit $inicio,5";
  11.  
  12. //Pides que se ejecute la consulta
  13. $res=mysql_query($sql,$con);
  14.  
  15. //[B]Sin comprobar si da algun resultado[/B] pides el numero de lineas
  16. $total = mysql_num_rows($res);
  17.  
  18. //Imprimes el valor
  19. echo $total;

El warning te diece que estas pasando un booleano (true o false) cuando se esperaba un resultset (conjunto de registros).

En el manual nos dicen que

Cita:

resource mysql_query ( string $query [, resource $link_identifier ] )

...

Return Values

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

Esta claro, no?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.