Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Que estoy haciendo mal en esta consulta

Estas en el tema de Que estoy haciendo mal en esta consulta en el foro de Bases de Datos General en Foros del Web. quien mequien me ayuda con este codigo que cuando busco en mi base de datos en la pagina de resultado sale que ¡No se ha ...
  #1 (permalink)  
Antiguo 14/10/2009, 08:14
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Que estoy haciendo mal en esta consulta

quien mequien me ayuda con este codigo que cuando busco en mi base de datos en la pagina de resultado sale que ¡No se ha encontrado ningún registro!..

<html>
<head>
<title>CONSULTA</title>
<head>
</head>
<body>
<form action="buscador.php3">
<BR><BR><BR>
<center>
<table border=5>
<tr>
<td>names</td>
<td><input name="name" size="18" value= ""></td>
</tr>
<TR>
<TD><input type=SUBMIT name=BOTON2 value ="Consultar"></TD>
<TD><input type=RESET name=BOTON1 value ="Borrar"></TD>
</TR>
</table>
</center>
</form>
</body>
</html


y esta el la pagina de resultado..

<html>

<body>

<?php

if (isset($buscar)){

echo "Debe especificar una cadena a buscar";

echo "<p>Debe especificar una cadena a buscar</p> \n";
echo "<p><a href=buscador_bd.html>Volver</p> \n";

echo "</html></body> \n";

exit;

}

$link = mysql_connect("localhost", "utesiano_nombre", "0000");

mysql_select_db("utesiano_nombre", $link);

$sql = "SELECT * FROM names WHERE name LIKE '%$buscar%' ORDER BY name";

$result = mysql_query($sql, $link);

if ($row = mysql_query($result)){

echo "<table border = '1'> \n";

//Mostramos los nombres de las tablas

echo "<tr> \n";

mysql_query($result,0);

while ($field = mysql_query($result)){

echo "<td><b>$field->name</b></td> \n";

}

echo "</tr> \n";

do {

echo "<tr> \n";

echo "<td>".$row["id"]."</td> \n";

echo "<td>".$row["name"]."</td> \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 "<p><a href=index.htm>Volver</p> \n";

echo "</table> \n";

} else {

echo "<p>¡No se ha encontrado ningún registro!</p>\n";

echo "<p><a href=index.htm>Volver</p> \n";

}

?>

</body>

</html>
  #2 (permalink)  
Antiguo 14/10/2009, 08:22
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Que estoy haciendo mal en esta consulta

si ejecutas
Código sql:
Ver original
  1. SELECT * FROM names WHERE name LIKE '%palabras a buscar%' ORDER BY name

directamente desde mysql y te funciona, el problema está en php y no en mysql.
Si no te funciona, es por que no tienes registros.

Pregunta en el foro de php.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 14/10/2009, 08:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Que estoy haciendo mal en esta consulta

Cita:
Iniciado por huesos52 Ver Mensaje
si ejecutas
Código sql:
Ver original
  1. SELECT * FROM names WHERE name LIKE '%palabras a buscar%' ORDER BY name
ACABO DE HACER ESO Y ME TIRA ESTE ERRO

Parse error: syntax error, unexpected T_STRING in /home/utesiano/public_html/demo/buscador.php3 on line 29
  #4 (permalink)  
Antiguo 14/10/2009, 08:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Que estoy haciendo mal en esta consulta

Cita:
Parse error: syntax error, unexpected T_STRING in /home/utesiano/public_html/demo/buscador.php3 on line 29
No es este un error de php?

Lennyrd... estoy casi seguro que el problema lo tienes en tu coidigo php y no en tu base de datos. Por eso te recomiendo preguntes en dicho foro.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 14/10/2009, 08:45
 
Fecha de Ingreso: diciembre-2008
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Que estoy haciendo mal en esta consulta

Cita:
Iniciado por huesos52 Ver Mensaje
No es este un error de php?

Lennyrd... estoy casi seguro que el problema lo tienes en tu coidigo php y no en tu base de datos. Por eso te recomiendo preguntes en dicho foro.

oK boy hacer eso muchas gracias.............
  #6 (permalink)  
Antiguo 14/10/2009, 09:19
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Que estoy haciendo mal en esta consulta

Hola, el error está desde el inicio:
Código HTML:
<form action="buscador.php3"> 
agregar el método
Código HTML:
<form action="buscador.php3" method="POST"> 
luego,
Código PHP:
if (isset($buscar)){
...} 
debería ser
Código PHP:
if (! isset($_POST['name'])){
...} 
ya que es el nombre del input que tiene el dato que buscarás.
y antes de la consulta:
Código PHP:
$sql "SELECT * FROM names WHERE name LIKE '%$buscar%' ORDER BY name"
sería:
Código PHP:
$buscar addcslashes(mysql_real_escape_string($_POST['name']));
$sql "SELECT * FROM names WHERE name LIKE '%$buscar%' ORDER BY name"
espero que te sea de ayuda..
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #7 (permalink)  
Antiguo 14/10/2009, 21:39
Avatar de sercuba  
Fecha de Ingreso: julio-2006
Mensajes: 34
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Que estoy haciendo mal en esta consulta

De todas maneras cuando tengas dudas para determinar si el error esta dado en php o en el sql, tendrias que tener algun front de Sql para ejecutar las consultas que tenes en tu php :).

Digo como ayuda....
podrias instalarte phpmyadmin... que te permite ejecutar querys y ver el resultado...

Saludos.

Última edición por sercuba; 14/10/2009 a las 21:41 Razón: me olvide con que front podria hacerlo jeje
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 06:56.