PHP - mysql_nums_rows

 
Vista:

mysql_nums_rows

Publicado por carlos martinez (7 intervenciones) el 10/02/2007 20:49:17
Estoy utilizando Apache y estoy haciendo pequeño programa de biblioteca donde el usuario puede elegir entre buscar por titulo,autor o isbn y tambien le puede agregar un termino qe facilite la busqueda del libro pero me aparece este error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\consullib.php on line 34

es como si no reconociera la instruccion que devuel el numero de registros encontrados por la consulta.

mysql_select_db("libreria");
$consulta="select * from libros where".$tipobusqueda."like '%".$terminobusqueda."%'" ;
$resultado=mysql_num_rows($consulta);

He investigado otras funciones similares y no me han dado resultado.

espero que alguien me ayude !!!!!!!!! por favor !!!!!!!

Gracias.........
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mysql_nums_rows

Publicado por dimh (2 intervenciones) el 10/02/2007 23:27:16
Hola, mira el problema es que el valor que estas enviando a la funcion mysql_num_rows() esta mal, ya que lo que debes enviar es el identificador que devuelve la funcion mysql_query, en tu caso debiese ser:

mysql_select_db("libreria");
$consulta="select * from libros where".$tipobusqueda."like '%".$terminobusqueda."%'" ;
$int=mysql_query($consulta);
$resultado=mysql_num_rows($int);

De esta manera puedes obtener el reultado de la funcion.

Saludos

dimh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mysql_nums_rows

Publicado por carlos (7 intervenciones) el 11/02/2007 06:01:32
Gracias por tu respuesta pero la verdad es que me sigue marcando el mismo error lo copie tal y como me lo sugeriste.Gracias..

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\consullib.php on line 35
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:mysql_nums_rows

Publicado por Yamil Bracho (888 intervenciones) el 12/02/2007 16:48:37
Carlos creo que el problema mysql_num_rows() no le pasa el string que vas a ejecutar sino le debes pasar un resource creado con mysql_query

$rs = mysql_query("SELECT * FROM table1", $link);
$resultado=mysql_num_rows($rs);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mysql_nums_rows

Publicado por KJH (4 intervenciones) el 12/02/2007 17:30:08
A mí me pasaba exactamente lo mismo, la solución ? me dí cuenta que salía ese error porque la consulta MySql me generaba un valor nulo
o porque no existian valores en alguna tabla, checa eso, también te aconsejo que te fijes si estás realmente usando $resultado=mysql_num_rows($consulta); si no lo usas ponlo como comentario o bórralo, ese software de biblioteca tiene muchos errores, he visto el código el año pasado y le hice bastantes correcciones. Si esto no soluciona tu pregunta, puedes poner un poco más del código en php para darte una respuesta más atinada.

Espero que eso solucione tu pregunta, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mysql_nums_rows

Publicado por carlos (7 intervenciones) el 13/02/2007 15:32:04
@$db=mysql_pconnect("localhost","root","xxxxxx");

if(!$db)
{
echo"Error: No se ha podido conectar a la base de datos.try again";
exit;
}

//Consultar la base de datos
mysql_select_db("libreria",$db);
$consulta='select * from libros where'.$tipobusqueda."like '%".$terminobusqueda."%'" ;
$resultado=mysql_query($consulta,$db);

$num_resultado=mysql_num_rows($resultado);

//recuperar y formatear el resultado de la consulta a la BD

echo"<p>Numero de libros encontrados:".$num_resultado."</p>";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Oswaldo

RE:mysql_nums_rows

Publicado por Oswaldo (4 intervenciones) el 22/02/2007 23:27:35
Hola! Yo veo dos cosas:
1. a la condición WHERE le estas pasando un parametro, estas seguro de que se trata de el nombre de una columna de la tabla, además, cuida los espacios y el uso de las comillas, me parece que no debería tener una comilla simple despues del WHERE.

2. Puedes mejorar el resultado si trabajas con variables y no con ordenes directas, puede ser algo así

mysql_select_db($database_name, $conexion);
$SLQquery = sprintf("SELECT * FROM libros WHERE %s like '%s%'",
$tipobusqueda,
$terminobusqueda);

$resultado = mysql_query($SQLquery, $conexion) or die(mysql_error());

if ($resulado) {
$rows_libros = mysql_num_rows($resulado);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar