Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [PHP + MYSQL] Query che non funziona come vorrei...

    salve a tutti:

    io scrivo in php questa query:
    Codice PHP:
    $query "SELECT * FROM ".$tabella." WHERE email LIKE \"%$word%\" OR nominativo LIKE \"%$word%\" OR id LIKE \"%$word%\" OR nickname LIKE \"%$word%\" AND validato = 'y'"
    ma mi seleziona gli utenti anche se validato è diverso da y (n nel mio caso).

    in alcuni casi però funziona correttamente:
    se ad es. scelgo come parola di ricerca il nickname o parte di esso, tutto funziona correttamente.
    se cerco l'id, o parte del nominativo, o dell'email, mi trova l'utente anche se validato è = n.

    come mai?

    dove sbaglio?

    PS:
    Codice PHP:
    $query "SELECT * FROM ".$tabella." WHERE validato = 'y' AND email LIKE \"%$word%\" OR nominativo LIKE \"%$word%\" OR id LIKE \"%$word%\" OR nickname LIKE \"%$word%\""
    cosi, mi trova tutto comunque!!

    Ciao!

  2. #2
    codice:
    $query = "SELECT *
              FROM ".$tabella."
              WHERE (email LIKE \"%$word%\"
              OR nominativo LIKE \"%$word%\"
              OR id LIKE \"%$word%\"
              OR nickname LIKE \"%$word%\")
              AND validato = 'y'";
    Essendoci una AND le condizioni in OR devi metterle tra parentesi. Altrimenti diventa:
    codice:
    WHERE 
    email LIKE \"%$word%\"
    OR nominativo LIKE \"%$word%\"
    OR id LIKE \"%$word%\"
    OR 
    (nickname LIKE \"%$word%\" AND validato = 'y')";

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.