Foros del Web » Programando para Internet » PHP »

Consulta a BD ¿como?

Estas en el tema de Consulta a BD ¿como? en el foro de PHP en Foros del Web. Estoy tratando de realizar una consulta a la BD pero deben cumplirse varias condiciones de seleccion. La consulta la hice de estas dos formas: Código ...
  #1 (permalink)  
Antiguo 11/01/2004, 15:53
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Consulta a BD ¿como?

Estoy tratando de realizar una consulta a la BD pero deben cumplirse varias condiciones de seleccion. La consulta la hice de estas dos formas:

Código PHP:
 $consulta1 "SELECT * FROM noticias WHERE (titulo,resumen,ampliacion,altimage,autor LIKE %$word%)"
y la otra forma es:
Código PHP:
$consulta2 "SELECT * FROM noticias WHERE ((titulo LIKE %$word%) or (resumen LIKE %$word%) or (ampliacion LIKE %$word%) or (altimage LIKE %$word%) or (autor LIKE %$word%))"
pero los dos me dan error en la Syntaxis de MySQL como lo puedo hacer para buscar la palabra pasada por $_POST en varios campos de mi tabla.

Otra cosa está bien esto:
Código PHP:
 $consulta_tot $consulta1 $consulta2 
de manera que $consulta_tot contenga lo que devolvio consulta1 y consulta2
__________________
Ing. Reynier Pérez Mira

Última edición por Reynier; 11/01/2004 a las 15:55
  #2 (permalink)  
Antiguo 11/01/2004, 17:39
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
trata de usar la segunda opción sin paréntesis.
  #3 (permalink)  
Antiguo 11/01/2004, 17:54
 
Fecha de Ingreso: noviembre-2003
Mensajes: 22
Antigüedad: 14 años
Puntos: 0
yo creo que eso de las dos consultas no lo puedes hacer con una suma, mas bien puedes hacer una subconsulta de una consulta, pero no una suma.

$consulta = "SELECT * FROM noticias WHERE titulo LIKE '%$word%' and titulo LIKE '$word%' and resume LIKE '$word%
and autor LIKE '$word' " ;

***Puedes ir anidandos los operadores AND
  #4 (permalink)  
Antiguo 11/01/2004, 18:40
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Claro.. el WHERE se utiliza sin paréntesis... la opción de frida debe funcionar sin problemas... aunque yo creo que para lo que tu quieres, deberás utilizar "OR" en lugar de "AND"... O sea:
Código PHP:
$consulta2 "SELECT * FROM noticias WHERE titulo LIKE '%$word%' OR resumen LIKE '%$word%' OR ampliacion LIKE '%$word%' OR altimage LIKE '%$word%' OR autor LIKE '%$word%'"
Recuerda poner las comillas simples en los valores...

Saludos

Última edición por jpinedo; 11/01/2004 a las 18:41
  #5 (permalink)  
Antiguo 11/01/2004, 18:51
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Nada me da error

Nada me sigue dando los mismos errores
__________________
Ing. Reynier Pérez Mira
  #6 (permalink)  
Antiguo 11/01/2004, 19:05
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Entonces prueba hacer un:
Código PHP:
echo $sconsulta2
para que veas si la sentencia que se está generando es válida...
Tampoco olvides pedir a mysql que te informe de errores
Código PHP:
$result mysql_query($consulta2) or die(mysql_error()); 
Saludos

Última edición por jpinedo; 11/01/2004 a las 19:07
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:07.