Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144

    [Mysql] Problema con query SELECT

    Ciao!
    Il motore di ricerca del mio sito, con la query che ho inserito qua sotto, se scrivo solo l'indirizzo mi da il risultato; se scrivo solo il comune mi da il risultato; se scrivo entrambi assieme...non mi da il risultato!
    Eppure nella query c'è un OR non un AND
    Codice PHP:
    mysql_query("SELECT DISTINCT * FROM accounts WHERE indirizzo LIKE '%$dove%' OR comune LIKE '%$dove%'"); 
    Mi potete dare una mano?

    Grazie, Ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    L'indirizzo e il comune vengono inseriti nella stesso campo del form. Solo che se l'utente cerca solo l'indirizzo o solo il comune la query trova il risultato, mentre se cerca entrambi assieme non trova nulla. Per favore, mi può aiutare qualcuno?

  3. #3
    Originariamente inviato da W3bm@st3r
    L'indirizzo e il comune vengono inseriti nella stesso campo del form. Solo che se l'utente cerca solo l'indirizzo o solo il comune la query trova il risultato, mentre se cerca entrambi assieme non trova nulla. Per favore, mi può aiutare qualcuno?
    il problema non dovrebbe essere la query ma forse un errore che non evidenzi.

    usa mysql_error() dopo la query

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

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    Ho scritto questo:
    Codice PHP:
    echo "mysql_error ".mysql_error(); 
    subito dopo la query, ma non mi ha segnalato nessun errore.. ho provato a controllare il resto del codice ma non ho trovato errori..

  5. #5
    Originariamente inviato da W3bm@st3r
    Ho scritto questo:
    Codice PHP:
    echo "mysql_error ".mysql_error(); 
    subito dopo la query, ma non mi ha segnalato nessun errore.. ho provato a controllare il resto del codice ma non ho trovato errori..
    metti la query in una variabile e stampala a video per vedere come sono risolte le variabili.

    Codice PHP:
    $query "SELECT DISTINCT * 
                 FROM accounts 
                 WHERE indirizzo LIKE '%
    $dove%' 
                 OR 
                 comune LIKE '%
    $dove%' ";

    echo 
    $query;

    $res mysql_query($query) OR DIE(mysql_error()); 

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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    Mi da questo : SELECT DISTINCT * FROM accounts WHERE indirizzo LIKE '%via garibaldi milano%' OR comune LIKE '%via garibaldi milano%'

    inoltre ho inserito un mysql-num_rows che da questo: mysql_num_rows: 0

  7. #7
    Originariamente inviato da W3bm@st3r
    Mi da questo : SELECT DISTINCT * FROM accounts WHERE indirizzo LIKE '%via garibaldi milano%' OR comune LIKE '%via garibaldi milano%'

    inoltre ho inserito un mysql-num_rows che da questo: mysql_num_rows: 0
    A mio parere se la stringa e' quella che hai postato mysql non trova nulla sia nel campo indirizzo sia che nel campo citta' . Ci vorrebbe la release rilasciata a Lourdes, forse.

    garantito.

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    Si è davvero molto strano. Mah! Spero di riuscire a risolvere il mistero.

    Anzi, mi sono ricordato che avevo messo degli indici alle colonne. Potrebbe essere quello il problema?

  9. #9
    Originariamente inviato da W3bm@st3r
    Si è davvero molto strano. Mah! Spero di riuscire a risolvere il mistero.

    Anzi, mi sono ricordato che avevo messo degli indici alle colonne. Potrebbe essere quello il problema?
    il problema e' nella comparazione tra i campi e le stringhe che passi nella query.

    Mi sentirei di escludere nel modo piu' certo che non e' possibile tu abbia:

    indirizzo LIKE '%via garibaldi milano%'

    oppure

    comune LIKE '%via garibaldi milano%'

    nell'indirizzo non dovresti avere "milano" e nel comune non dovrebbe esserci "via garibaldi".

    Per farla breve prova la seguente query:

    Codice PHP:
    $query "SELECT DISTINCT *
                 FROM accounts
                 WHERE indirizzo LIKE '%via Garibaldi%'
                 OR
                 comune LIKE '%Milano%' "

    e vedrai che funziona.

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

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    Si, ha funzionato! Quindi perchè non riesce a funzionare con una stringa che gli arriva dal form?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.