A mi me intriga esto que está en el post nro. 12:
Código MySQL:
Ver originalYou have an error
in your SQL syntax
; check the manual that corresponds
to your MySQL server
version for the
right syntax
to use near
''%%','%%','%%') AS Score FROM tablaWHERE MATCH (name1
,nam
' at line 1 SELECT SQL_CALC_FOUND_ROWS name1,name2,name3,name4 MATCH (name1,name2,name3,name4) AGAINST ('%%','%%','%%','%%') AS Score FROM tabla WHERE MATCH (name1,name2,name3,name4) AGAINST ('%%','%%','%%','%%') ORDER BY Score
Según nos muestra la sentencias de PHP usada:
Código PHP:
#$result = mysql_query( "SELECT * , MATCH(name1,name2,name3,name4) AGAINST ('%{$_GET['palabra']}%') as Score FROM tabla WHERE MATCH(name1,name2,name3,name4) AGAINST ('%{$_GET['palabra']}%') ORDER BY id_sql ");
el bloque
AGAINST ('%%','%%','%%','%%') proviene de
$_GET['palabra'], lo que implica que está metiendo un error de sintaxis dentro del SQL a través del contenido de una variable.
Creo que todo el conjunto está mal programado, porque no ha depurado correctamente el uso de SQL embebido en PHP, porque no revisa bien lo que pone en las variables.