Foros del Web » Programando para Internet » PHP »

sigue mi problema con la consulta

Estas en el tema de sigue mi problema con la consulta en el foro de PHP en Foros del Web. que pena volverme tan canson, pero es que ahora la consulta no me quiere hacer consulta si asi como lo leen, ya tengo todo el ...
  #1 (permalink)  
Antiguo 03/08/2004, 10:58
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
sigue mi problema con la consulta

que pena volverme tan canson, pero es que ahora la consulta no me quiere hacer consulta si asi como lo leen, ya tengo todo el codigo listo, recibo bien la variable y la almaceno en otra, aparentemente se hace la busqueda, pero cuando imprime los resultados no imprime nada, ya le intente de una y mil formas y no me da resultado, sera esto acaso producto de que en este equipo donde desarrollo, no tengo privilegios de administrador?


aqui pongo el codigo para que me digan a ver si es error mio


<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<?
//Conexion con la base
$dbh=mysql_connect ("localhost", "root", "") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("consultex");

//Ejecutamos la sentencia SQL





$busc=$_REQUEST['buscar'];
echo "La Palabra a Buscar es :",$busc;

$result=mysql_db_query("consultex","select * from links WHERE titulo contain '$busc'");

?>
<table align="center">
<tr>
<th>Titulo</th>
<th>Dirección</th>
<th>Descripcion</th>
</tr>
<?



//Mostramos los registros
if ($result=" ")
{echo "no se encontraron registros";}
else {

while ($row=mysql_fetch_array($result));
{
echo "Los resultados son";
echo '<tr><td>'.$row["link"].'</td>';
echo '<tr><td>'.$row["titulo"].'</td>';
echo '<td>'.$row["descripcion"].'</td></tr>';
}
mysql_free_result($result);
}

?>
</table>
</body>
</html>
__________________
Say no more.......
  #2 (permalink)  
Antiguo 03/08/2004, 20:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No puedes usar:

mysql_select_db()

y luego usar mysql_db_query()

Usa sólo mysql_query() (sin tabla) en lugar de mysql_db_query() ..

Esto tampoco es correcto:
Código PHP:
if ($result=" ")
{echo 
"no se encontraron registros";} 
El "=" (Igual) asigna .. y el "==" (Doble igual) compara .. pero, ese no es el único problema .. además $result va a devolver un identificador válido de tu consulta realizada o un "FALSE" si no se pudo ejecutar (con un enorme error por delante).

La consulta SQL .. tampoco es correcta (por lo menos en Mysql .. "contain?" ...)
En tal caso sería:

Código PHP:
$result=mysql_query("select * from links WHERE titulo='".$busc."'"); 
ó
Código PHP:
$result=mysql_query("select * from links WHERE titulo LIKE '%".$busc."%'"); 
pero "OJO" con lo que significa "LIKE" (y sus comodines %) y lo que es campo=condición .. Eso lo veras en un manual cualquiera de SQL de Mysql ..


Código PHP:
$result=mysql_query("select * from links WHERE titulo = '$busc'") or die (mysql_error());

if (
mysql_num_rows($result) > ){
   while (
$row=mysql_fetch_array($result){
       echo 
$row['un_campo'];
       echo 
$row['otro_campo'];
       
// etc.
   
}
} else {
   echo 
"NO hay resultados";

Te recomiendo encarecidamente leer cualquier manual sobre PHP con capítulo de Mysql de los que veras en las FAQ's de este foro PHP. Nadie dice que tengamos que saber las cosas por "inspiración" .. pero si documentarse antes de "probar" cosas al azar.

Recuerda también que .. si bien estás programando en "PHP" ahora estás usando Base de datos y .. estas tienen su própio lenguaje también: SQL que hay que conocer .. sino, se junta todo y no salen las cosas nunca.

Un saludo,
  #3 (permalink)  
Antiguo 04/08/2004, 08:24
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
muchas gracias por su colaboracion, ya esta casi listo, bueno ya al menos hace la consulta, ahora voy a seguir adornando la cuestion, espero poder seguir contando con ustedes y claro voy a leer los manuales.


gracias
__________________
Say no more.......
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 11:52.