Foros del Web » Programando para Internet » PHP »

Consulta no devuelve resultado

Estas en el tema de Consulta no devuelve resultado en el foro de PHP en Foros del Web. Hola, quisiera saber si esta consulta esta bien, ya que no me devuelve resultados @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $cadbusca = ( " SELECT ...
  #1 (permalink)  
Antiguo 23/05/2012, 10:50
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Consulta no devuelve resultado

Hola, quisiera saber si esta consulta esta bien, ya que no me devuelve resultados

Código PHP:
Ver original
  1. $cadbusca= (" SELECT * FROM libros
  2. WHERE (nombre_libro='$buscar' OR autor_libro='$buscar' OR materia_libro='$buscar') AND MATCH(nombre_libro,autor_libro,materia_libro) AGAINST('".$buscar."')");

Nose si..tenga q ver, que solo tenga un solo registro en la base de datos?.
  #2 (permalink)  
Antiguo 23/05/2012, 10:54
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Consulta no devuelve resultado

MATCH AGAINST en MySql solo es soportado por tablas de tipo MyISAM y con indices de tipo FULLTEXT...

Fijate que tu tabla no sea de tipo INNODB y que tus indices sean FULLTEXT

PD: Esto es tema de MySQL
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 23/05/2012, 10:57
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Respuesta: Consulta no devuelve resultado

Si compañero si cumple con todo lo que me dijiste :D es en myisam y son fulltext!....una cosa el otro dia hice una pregunta y la publique en Mysql y me dijeron que tenia q ponerla en el de PHP :S entonces? pónganse de acuerdo jajaja Gracias de todas formas
  #4 (permalink)  
Antiguo 23/05/2012, 10:58
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Consulta no devuelve resultado

Te sugiero que sólo uses MATCH AGAINST, es más efectivo y hasta puedes ordenar de acuerdo a la importancia de los resultados.

Porqué no te muestra resultados?

1- WHERE
2- (nombre_libro='$buscar' OR autor_libro='$buscar' OR materia_libro='$buscar')
3- AND
4- MATCH(nombre_libro,autor_libro,materia_libro) AGAINST('".$buscar."')"

2- En vez de campo='$valor', tal vez funcionaría si fuera campo='%$valor%'
3- Esto hace que se tengan que cumplir necesariamente las dos condiciones (2 y 4), pero dudo mucho que así como los pusiste funcione, tal vez con OR en vez de AND
4- Como ya mencioné, esto es realmente efectivo y no requieres de inventos raros que tienes con 2 y 3
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 23/05/2012, 11:04
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Respuesta: Consulta no devuelve resultado

compañero que quieres decir? que asi como lo tengo podria automatizarlo colocandole solo con el Match against? sin lo que esta del where?
  #6 (permalink)  
Antiguo 23/05/2012, 11:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta no devuelve resultado

Cita:
Iniciado por edward18_1 Ver Mensaje
Si compañero si cumple con todo lo que me dijiste :D es en myisam y son fulltext!....una cosa el otro dia hice una pregunta y la publique en Mysql y me dijeron que tenia q ponerla en el de PHP :S entonces? pónganse de acuerdo jajaja Gracias de todas formas
El problema de tu post en MySQL era porque no había errores visibles en el SQL, sino en lo que PHP agregaba en la construcción de la consulta.
En esa ocasión te pedimos repetidamente que posteases la cadena de la consulta que quedaba armada, sin que en ningún momento lo hicieses.
Finalmente, según tu mismo dijiste, el error se daba por una coma mal puesta, que aparentemente entraba por una variables de PHP.
Lo que parece que no te quedó claro es que cuando mezclas PHP y SQL, es muy común que errores de construcción en PHP generen errores sintácticos en SQL, sin que se puedan detectar en el SQL... por que no se originann allí.
Por esa razón, y no por otra, es que necesitábamos que posteases la consulta ya terminada. Si lo hubieses hecho desde el inicio, hubiésemos visto la coma mencionada sin tanto debate.

En definitiva, cuando no se ve un error en el SQL base, el error lo genera el PHP... y eso es lo que queríamos que comprendieras.

Nada más que eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 23/05/2012, 11:19
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Respuesta: Consulta no devuelve resultado

Ok perfecto, pero una recomendacion creen una opcion para cambiar el post o sea para poder cambiarlo de mysql a php o cualquiera! o si ya esta, háganme saber en donde esta :D Gracias
  #8 (permalink)  
Antiguo 23/05/2012, 11:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Consulta no devuelve resultado

Vaya, parece que tenemos problemas de lectura y sólo tomamos lo que parece ser más importante (o más llamativo?).
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: devuelve, registro, resultados
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 04:26.