kalixe985
Usuario Novato
Usuario Novato
HOla!!
Estoy haciendo una mínima web para una práctica, pero al querer ponerle un buscador, me sale siempre el siguiente error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C: \Servidor\WEB\buscador.php on line 13
¡ No se ha encontrado ningún registro !



Mi código php es el siguiente, está en el archivo buscador.php:
Codigo

 
Y el html es:
Codigo

 
Uso php 5.0.1, mySQL 4.0, apache 2.0, phpmyadmin 2.5.7
A ver si alguien me puede ayudar....Muchas gracias de antemano!!!!
Avatar Image
@man / @woman
@man / @woman

Estas haciendo una búsqueda y acontinuación quieres mostrar los resultados... pero no miras en ningún momento si hay resultados, y como le dices que imprima algo que no tiene... pues error.

Después del SELECT tienes que hacer un mysql_num_rows y ver si es distinto de 0 para continuar.

kalixe985
Usuario Novato
Usuario Novato

Hola!!!
Me ha servidor mucho tu respuesta. Ahora el problema que tengo es que, al buscar un nombre, me muestra todos los datos de la base de datos,  y no muestra solamente la fila que me interesa. Por ejemplo, si tengo una base de datos con 3 registros, cuyos campos "nombre" son: carlos, pepe, luis, si hago una búsqueda de "pepe", me muestra las 3 filas, y no solamente la fila de pepe, que es lo que quiero. Perdona mi ignorancia, es que el codigo me lo pasó un compañero y no acabo de entender algunas cosas. Lo he dejado así: 
***************************************************************************************
<html>
<body>  
<?php
if (isset($buscar)){
      echo "Debe especificar una cadena a buscar";
      echo "</html></body> \n";
      exit;
}
$link = mysql_connect("localhost", "kalixe985","garzimba985&quot ;
mysql_select_db("prueba", $link);
$result = mysql_query("SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY nombre", $link);
$row2=@mysql_num_rows($result);
echo($row2);    //me da 3, cuando deberia dar 1
if ( $row2 > 0){
 if ($row = @mysql_fetch_array($result)){
      echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
  echo "<tr> \n";
  while ($field = mysql_fetch_field($result)){
            echo "<td>$field->name</td> \n";
  }
       echo "</tr> \n";
  do {
            echo "<tr> \n";
            echo "<b><td>".$row["nombre"]."</td></b> \n";
            echo "<td>".$row["direccion"]."</td> \n";
            echo "<td>".$row["telefono"]."</td> \n";
            echo "<td><a href='mailto:".$row["email"]."'>".$row["email"]."</a></td> \n";
            echo "</tr> \n";
      }
   while ($row = mysql_fetch_array($result)); {
            echo "</table> \n"; }
 }
} else {
echo "¡ No se ha encontrado ningún registro !"; }
?>
 
</body>
</html> 
+***************************************************************************************
Gracias por tu ayuda!!!!

Avatar Image
@man / @woman
@man / @woman

Antes del SELECT haz un echo a $buscar... a ver si realmente tienes algo en esa variable.

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 14/Jun/2004, 02:54
sanjavi NoSetup.org22kJun/04
Por: , el 17/May/2010, 17:39
jamon33 GestionXls1113kMay/10
Por: , el 25/Ago/2008, 17:51
kzolutions User 3566001227kAug/08
Por: , el 24/Feb/2006, 18:54
CilloKa chavp1907Feb/06
Por: , el 26/Feb/2005, 17:35
rabex Bodyfire1757Feb/05