Ragazzi aiutatemi mi sto scervellando.. Ma perchè mi dà errori nella query?? Sembra tutto ok... Ve la posto:
$query = "SELECT * FROM tabella WHERE MATCH(campo1,campo2) AGAINST('$ricerca' IN BOOLEAN MODE)";
campo1 e campo2 sono indicizzati FULLTEXT
Ragazzi aiutatemi mi sto scervellando.. Ma perchè mi dà errori nella query?? Sembra tutto ok... Ve la posto:
$query = "SELECT * FROM tabella WHERE MATCH(campo1,campo2) AGAINST('$ricerca' IN BOOLEAN MODE)";
campo1 e campo2 sono indicizzati FULLTEXT
prova a stampare la query, vedi cosa ti stampa:
$query = "SELECT * FROM tabella WHERE MATCH(campo1,campo2) AGAINST('$ricerca' IN BOOLEAN MODE)";
echo $query;
Ho stampato la query e il risultato è:
SELECT * FROM tabella WHERE MATCH(campo1,campo2) AGAINST('ciao' IN BOOLEAN MODE)
ciao è un valore recuperato nella variabile $ricerca
Mi dà questo errore:
Query non valida: 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 '' at line 1
prova a mettere gli spazi:
$query = "SELECT * FROM tabella WHERE MATCH (campo1,campo2) AGAINST ('ciao' IN BOOLEAN MODE) ";
Niente, mi dà sempre lo stesso errore... Sto diventando pazzo.
HO RISOLTO!!
Però se scrivo così:
$query = "SELECT * FROM tabella WHERE MATCH (campo1,campo2) AGAINST ('*$ricerca*' IN BOOLEAN MODE)";
mettendo nel criterio di ricera *$ricerca* e cerco parole che iniziano per.. me le trova ma se metto parole che finiscono o al centro abbiano i caratteri che inserisco e: voglio cercare CASA ma inserisco solo AS o SA, non me le trova e mi dà errore. Non si mette l'asteristo all'inizio e alla fine contemporaneaemente?
Ho provato con i criteri di ricerca.
Ma ho 2 problemi:
1)se a variabile è vuota, vorrei fare in modo che mi dià tutti i risultati della tabella cosa che non avviene.
2) usando il criterio '*$ricerca*' non mi trova i record che contengono parole che iniziano per qualsiasi lettera, contengono le parole di $ricerca e finiscono con qualsiasi lettera... Ho provato ad utilizzare anche una cosa del genere: '+$ricerca*' ma niente da fare... Come posso fare? Quale simbolo devo usare?