Foros del Web » Programando para Internet » PHP »

Consulta Match Against en Mysql

Estas en el tema de Consulta Match Against en Mysql en el foro de PHP en Foros del Web. Hola, qué hay. Tengo una base de datos gestionada en phpmyadmin. Aquí si hago esta consulta en sql funciona correctamente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver ...
  #1 (permalink)  
Antiguo 19/04/2015, 08:09
 
Fecha de Ingreso: abril-2011
Mensajes: 169
Antigüedad: 13 años
Puntos: 4
Consulta Match Against en Mysql

Hola, qué hay.
Tengo una base de datos gestionada en phpmyadmin. Aquí si hago esta consulta en sql funciona correctamente:

Código SQL:
Ver original
  1. SELECT *, MATCH(questions,answers) AGAINST ('quien eres tu') AS puntuacion FROM mmquest WHERE MATCH (questions,answers) AGAINST ('quien eres tu') ORDER BY puntuacion DESC LIMIT 50

Y devuelve los valores ordenados según mayor coincidencia.

Bien pero al hacerlo desde php, no funciona. Tal que así:

Código PHP:
$Resultado2=mysql_query("SELECT *, MATCH(questions,answers) AGAINST ('quien eres tu') AS puntuacion FROM mmquest WHERE MATCH (questions,answers) AGAINST ('quien eres tu') ORDER BY puntuacion DESC LIMIT 50"$conexion);
if(
mysql_num_rows($Resultado2) != 0){
    echo 
"heeey";

Alguien sabe por qué ocurre esto? Como lo soluciono?? Gracias!!
__________________
MiniMonigotes.com | Juegos flash online gratis - ¡Entra ya!
  #2 (permalink)  
Antiguo 19/04/2015, 09:14
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 Match Against en Mysql

Si la consulta funciona bien en MySQL, entonces el error lo haces al crear la consulta y/o probarla en PHP.
Como mínimo ponle un or die() en la sentencia como para verificar si MySQL está devolviendo un error o no. Si no devuelve errores ni resultados, entonces lo que tienes mal son los valores de las variables que usas, cosa que puedes comprobar haciendo un simple echo.
Código PHP:
Ver original
  1. $sql = "SELECT *, MATCH(questions,answers) AGAINST ('quien eres tu') AS puntuacion FROM mmquest WHERE MATCH (questions,answers) AGAINST ('quien eres tu') ORDER BY puntuacion DESC LIMIT 50";
  2. $Resultado2=mysql_query($sql, $conexion) or die("Error devuelto por MySQL. ".mysql_error());
  3. if($Resultado2){
  4.     echo "heeey";
  5. }
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, sql
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 17:54.