Ho un form di ricerca, nel quale l'utente può scegliere sino a quattro diversi tipi di input:
titolo
testo
tag
area geografica
Per le ultime due opzioni, l'utente può solo scegliere da una select, mentre per le prime due può digitare una o più parole.
Nel PHP, dopo essermi accertato che l'utente abbia inserito almeno un criterio di ricerca, faccio la query, così:
Però, se - ad es. - mi limito ad inserire soltanto una parola come ricerca, utilizzando il campo titolo, comunque mi restituisce tutti i record del db.Codice PHP:
$result = mysql_query("SELECT * FROM `news` WHERE `title` LIKE '%$tit%' || `tag` LIKE '%$tag%' || `text` LIKE '%$text%' || `location` LIKE '%$location%' ORDER BY `news_id` DESC");
Ma se le altre variabili sono senza alcun valore definito, perchè mi restituisce tutto?
E come se nulla fosse equivalente a qualsiasi cosa...
Dove sbaglio?