Foros del Web » Programando para Internet » PHP »

resultados de query invisibles

Estas en el tema de resultados de query invisibles en el foro de PHP en Foros del Web. Hola, He creado un formulario para buscar en una tabla de una base de datos. No me muestra los resultados. De hecho la página se ...
  #1 (permalink)  
Antiguo 08/12/2006, 18:32
 
Fecha de Ingreso: abril-2004
Mensajes: 58
Antigüedad: 20 años
Puntos: 0
Pregunta resultados de query invisibles

Hola,
He creado un formulario para buscar en una tabla de una base de datos.
No me muestra los resultados. De hecho la página se me queda en blanco sin más, sin indicarme que clase de error cometo.
Del formulario me pasa la variable a la pagina result.php donde quiero mostrar los resultados. Esta página me recoge la variable $llistat_titols pues lo he comprobado.


Código PHP:
$llistat_titols=$_POST['text_titol'];  
$link=mysql_connect("localhost""user""01234");
$bd=mysql_select_db("molinar",$link);
$query=mysql_query("SELECT * FROM general WHERE titol_general LIKE `$llistat_titols`",$db,$link);
$result mysql_query($query) or die ("Error en: $query. " mysql_error());


if (
mysql_num_rows($result) > 0)
{
    while(
$row mysql_fetch_object($result))

Hay algún error de código? Alguien me puede ayudar.
He buscado y remirado en el foro pero no alcanzo a saber que es lo que hago mal.
Saludos
  #2 (permalink)  
Antiguo 08/12/2006, 21:14
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 10 meses
Puntos: 32
Re: resultados de query invisibles

Cita:
Iniciado por promedea Ver Mensaje
Hola,
He creado un formulario para buscar en una tabla de una base de datos.
No me muestra los resultados. De hecho la página se me queda en blanco sin más, sin indicarme que clase de error cometo.
Bienvenido al mundo PHP. Si tu tiras una consulta a la base y no capturas todas las variedades de situaciones contrarias a que te devuelva un dato, será completamente natural que tu sistema muestre una página en blanco.

Tu sistema puede estar sintácticamente correcto, pero estar haciendo las cosas mal y el lenguaje debería hacer algún tipo de "inteligencia artificial" para detectar qué es lo que quieres hacer y donde cometes el error de lógica.

Cita:
Iniciado por promedea Ver Mensaje
Del formulario me pasa la variable a la pagina result.php donde quiero mostrar los resultados. Esta página me recoge la variable $llistat_titols pues lo he comprobado.
Usa var_dump, es tu amigo:

Código PHP:
var_dump($llistat_titols); 

Código PHP:
$llistat_titols=$_POST['text_titol'];  
$link=mysql_connect("localhost""user""01234");
$bd=mysql_select_db("molinar",$link);
$query=mysql_query("SELECT * FROM general WHERE titol_general LIKE `$llistat_titols`",$db,$link);
$result mysql_query($query) or die ("Error en: $query. " mysql_error());


if (
mysql_num_rows($result) > 0)
{
    while(
$row mysql_fetch_object($result))


Otros consejos:
en estos casos siempre coloca la sentencia sql en un archivo aparte e imprime la cadena sql completa, con la variable que recibes. Haces un copy & paste, y la tiras contra la base de datos. Verifica si la consulta realmente devuelve algo, o si directamente tiene un error de sintaxis.

Si estuviera todo bien sintácticamente, tu mismo respondes el misterio de que tu código no dice nada: colocas un "if" diciendo "si el número de columnas es mayor que cero"... y si es igual o menor, tu mismo dices "no hago nada".

Entonces, tu sistema "no hace nada" = "página en blanco".

PD: si, estoy moderado, he tomado mis medicamentos (pero ya se me va a pasar).
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #3 (permalink)  
Antiguo 09/12/2006, 06:25
 
Fecha de Ingreso: abril-2004
Mensajes: 58
Antigüedad: 20 años
Puntos: 0
Re: resultados de query invisibles

Hola Enrique y gracias por contestar.
Bueno sigo con problemas

Código PHP:
<?
$llistat_titols
=$_POST['text_titol'];  // recullo la variable del formulari
$link=mysql_connect("localhost""user""01234") or die ("no m'he pogut conectar"); // me conecto a la base de dades
$bd=mysql_select_db("molinar",$link); // selecciono la base de dades de treball
$query=mysql_query("SELECT * FROM general WHERE titol_general LIKE $llistat_titols",$db,$link); // faig la cerca
$result mysql_query($query) or die ("Error en: $query. " mysql_error());
?>
El error que me da es que "Query was empty" por eso queria utilizar el comodin %$llistat_titols% pero me pierdo en la sintaxis no se si va con comillas simples o dobles, si hay alguna barra invertida i/o si es posible hacerlo.

En cuanto a lo que comentabas de "var_dump" nop acabo de entenderlo, quiero decir que con $llistat_titols=$_POST[´text_titol´] ya me recoge la variable.

Se agradece la ayuda
  #4 (permalink)  
Antiguo 09/12/2006, 06:55
 
Fecha de Ingreso: abril-2004
Mensajes: 58
Antigüedad: 20 años
Puntos: 0
Re: resultados de query invisibles

Bueno, parecer ser que he encontrado la sintaxis adecuada pero sigue sin funcionar, os dejo el código:

Código PHP:
     <?
$link
=mysql_connect("localhost""user""01234") or die ("no m'he pogut conectar"); // me conecto a la base de dades
$llistat_titols=$_POST['text_titol']; 
print 
$llistat_titols// recullo la variable del formulari
$bd=mysql_select_db("molinar",$link); // selecciono la base de dades de treball
$query=mysql_query("SELECT * FROM general WHERE titol_general LIKE '%$llistat_titols%'",$db,$link); // faig la cerca
$result mysql_query($query) or die ("Error en: $query. " mysql_error());
?>
Sigo con el error "Query was empty"
  #5 (permalink)  
Antiguo 09/12/2006, 10:34
 
Fecha de Ingreso: abril-2004
Mensajes: 58
Antigüedad: 20 años
Puntos: 0
Re: resultados de query invisibles

TEMA RESUELTO
Muchas gracias a los que me han ayudado.
  #6 (permalink)  
Antiguo 10/12/2006, 05:04
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 10 meses
Puntos: 32
Re: resultados de query invisibles

Lo que deberías hacer ahora es explicar brevemente cual fue el error y como lo arreglaste.

No te olvides que otros usuarios pueden pasar por el mismo problema y si lo explicas dejas un registro para posteriores consultas.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #7 (permalink)  
Antiguo 10/12/2006, 11:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: resultados de query invisibles

El problema que veo yo es este:
Código PHP:
$query=mysql_query("SELECT * FROM general WHERE titol_general LIKE '%$llistat_titols%'",$db,$link); // faig la cerca
$result mysql_query($query) or die ("Error en: $query. " mysql_error()); 
En la primera linea $query tiene como valor un resource, no un string, lo cual hace que en la segunda linea le tire ese error, la solucion, solo enviar el query una vez.
  #8 (permalink)  
Antiguo 10/12/2006, 15:08
 
Fecha de Ingreso: abril-2004
Mensajes: 58
Antigüedad: 20 años
Puntos: 0
Re: resultados de query invisibles

Bueno, por si a alguien le interesa.
Lo resolví como comenta GatorV
Ahí va el código

Código PHP:
   <?
$link
=mysql_connect("localhost""user""01234") or die ("no m'he pogut conectar"); // me conecto a la base de dades
$llistat_titols=$_POST['text_titol'];  // recullo la variable del formulari
$bd=mysql_select_db("molinar",$link) or die ("no puc conectar a la BBDD"); // selecciono la base de dades de treball
$query="SELECT * FROM general WHERE titol_general LIKE '%$llistat_titols%' ORDER BY id_general"// faig la cerca
$result mysql_query($query$link) or die ("Error en: $query. " mysql_error());
?>
Luego para mostrar los resultados he creado un tabla con los campos que me interesa mostrar
Código PHP:
<?
 
while($row mysql_fetch_array($result)) {
      
printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td></tr>"$row["id_general"],$row["titol_general"],$row["URL"],$row["pes"]);
   }
   
mysql_free_result($result);
   
mysql_close($link);
?>
Ahora que he aprendido esto, soy muyyy novata, estoy a la búsqueda de encontrar una solución a como buscar una palabra en diferentes campos de diferentes tablas de una misma base de datos.

Así, poquito a poco, voy aprendiendo.
Saludos y mil gracias
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 18:39.