Hola utilizo este codigo encontrado en el foro, para hacer un buscador a base de datos,
solo ha de buscar en los campos de la BD
name
description
cuando pongo solo una palabra el script fuunciona,
pero cuando pongo dos palabras me da error.
Alguen sabe que hago mal en la consulta?
Código PHP:
$busqueda=$_POST['palabra'];
echo $busqueda; //imprime bien la variable
if ($busqueda<>''){
//CUENTA EL NUMERO DE PALABRAS
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
$_pagi_sql="SELECT name, description FROM archivos WHERE description =1
AND name LIKE '%$busqueda%' OR description LIKE '%$busqueda%' ORDER BY name ASC";
} elseif ($numero>1) {
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
//busqueda de frases con mas de una palabra y un algoritmo especializado
$_pagi_sql="SELECT name, description MATCH ( name,description )
AGAINST ( '$busqueda' ) FROM archivos WHERE
MATCH ( name,description ) AGAINST ( '$busqueda' ) ORDER BY name ASC";
}
$_pagi_result = mysql_query($_pagi_sql , $conexion) or die ( mysql_error() );
y este es el error
Código PHP:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MATCH ( name,description ) AGAINST ( 'manual cromoterapia' ) FROM arch' at line 1
He buscado en el manual de php en español sobre la sintaxis de Mysql pero esque no me entero de donde esta el fallo.
Gracias.