• User

    Problema con query mysql

    Salve ragazzi, la seguente query mi sta facendo impazzire, funziona perfettamente da phpmyadmin, ma passandola da php è come se non mi considerasse l'istruzione tra parentesi.
    Cos'ha che non va?
    [php]
    $query="SELECT *
    FROM tabella
    WHERE (
    localita = 'citta1'
    OR localita = 'citta2'
    OR localita = 'citta3'
    OR localita = 'citta4'
    OR localita = 'citta5'
    OR localita = 'citta6'

    )
    AND id >3 ORDER BY id LIMIT $begin, $pageSize";[/php]


  • User Attivo

    Ciao Filippo,
    intanto puoi scrivere in questo modo:

    
    $query="SELECT *
    FROM tabella
    WHERE localita in ('citta1','citta2','citta3','citta4','citta5','citta6')
    AND id > 3 ORDER BY id LIMIT $begin, $pageSize"; 
    
    

    Poi, potrebbe essere la riga vuota di spazio, che ti causa problemi,
    altrimenti potrebbe essere che $begin o $pageSize non sono settati.
    Altrimenti se ti da un errore mysql sarebbe importante saperlo per capire dove sia l'errore.
    Inoltre se vuoi cercare citta* (qualsiasi numero) poi anche scrivere così:

    $query="SELECT *
    FROM tabella
    WHERE localita LIKE 'citta%'
    AND id > 3 ORDER BY id LIMIT $begin, $pageSize";
    

  • User

    Ti ringrazio anche per questa risposta!
    La query era corretta, avevo commesso un errore di battitura che non riuscivo ad individuare, alla fine ho utilizzato la prima soluzione che mi hai suggerito, il LIKE non posso usarlo perchè al posto di citta1, città2 etc mi ritrovo proprio i nomi dei luoghi, altrimenti dovrei passarli attraverso una variabile.