Buscador PHP

mTr

Hola buenas.. estoy teniendo unos problemillas al intentar hacer un buscador en php. Realmente me he basado en varios ejemplos de buscadores que encontre por la web. Pero al intentar adaptarlo para que funcionase con mi BD, no se por donde tirar. A continuacion os escribo el codigo:

Buscador.php
mysql_connect("localhost","root","****");
if ($buscar<>''){
$cadbusca="SELECT USUARIOS, MATCH( USUARIO, NOMBRE, APELLIDOS, ID )
AGAINST ( '$buscar' ) AS Score FROM DESCARGAS WHERE
MATCH ( USUARIO, NOMBRE, APELLIDOS, ID ) AGAINST ( '$buscar' ) ORDER BY ID DESC";
}


$result=mysql("descargas", $cadbusca);

while($row=mysql_fetch_object($result))
{
//Mostramos los titulos de los articulos o lo que deseemos...
$usuario=$row->USUARIO;
$nombre=$row->NOMBRE;
$apellidos=APELLIDOS;
$id=ID;
echo $usuario." - ".$nombre." - " .$apellidos." - " .$id. "<br>";
}
?>

Aqui el codigo del formulario

<div align="center" onmouseover="return escape('Introduce tu busqueda aquí y pulsa ENTER para continuar.')"><?php
$busqueda = $_POST['buscar'];
echo "
<form id=\"form1\" method=\"post\" action=\"privado.php?buscar=$busqueda\">"; ?>
<input name="buscar" type="text" class="imputbox" tabindex="4" onblur="value="Introduce tu Busqueda"
" onclick="value=""" value="Introduce tu busqueda" />
</form>
</div>

Esto va en el privado.php, lineas mas abajo del formulario

....
}elseif($p=="avisolegal"){
include("avisolegal.php");
}elseif($buscar){
include("buscador.php");
}else{
include("noticias/news.php");
} ?>

Os dejo tambien por si acaso una foto sobre el estado de mi base de datos y las tablas.

http://www.subir-fotos.com/uploads/d81695f7c6.jpg

Y el Error en cuestion :
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in e:\appserv\www\pandos\2.0\buscador.php on line 16

Gracias de antemano!

PD: El nombre de la table es descargas, lo digo xk es seguro ke sea un error en la sintaxis de mysql.

Whose

$result=mysql("descargas", $cadbusca);

¿No será así?
$result=mysql_query($cadbusca);

mTr

Ya probe así, y sigue dando el mismo error en la misma linea..

Gracias de todas formas :P

B

Yo tambien creo que será mysql_query o mysql_db_query.

Y en el mysql_fetch_object, yo utilizo mysql_fetch_array y en vez de un while un for. No se por probar...

mTr

Hola Tronko, acabo de probar con mysql_fetch_array y al menos, el error del principio desapacerio. Ahora aparece uno nuevo que, como bien dije, es sobre la sintaxis SQL

Codigo actual:

$result=mysql_query( "SELECT descargas MATCH( USUARIO, NOMBRE, APELLIDOS, ID )
AGAINST ( '$buscar' ) AS Score FROM usuarios WHERE
MATCH ( USUARIO, NOMBRE, APELLIDOS, ID ) AGAINST ( '$buscar' ) ORDER BY ID DESC", $conexion ) or die(mysql_error());

while($row=mysql_fetch_array($result))
{
$usuario=$row->USUARIO;
$nombre=$row->NOMBRE;
$apellidos=$row->APELLIDOS;
$id=$row->ID;
echo $usuario." - ".$nombre." - " .$apellidos." - " .$id. "<br>";
}

Y aquí el nuevo error...
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( USUARIO, NOMBRE, APELLIDOS, ID ) AGAINST ( 'mTr'

Espero que os sirva de algo, y gracias de nuevo!

mTr

Solucionado. Encontre un script por internet y ya rula perfectamente :P Gracias igualmente.

Usuarios habituales