Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67

    query con parole apostrofate

    Salve, ho questa query

    $query = "SELECT * FROM assegnazione_assuntore_auto WHERE stato='$stato' AND corrispondente='".$corrispondente."' AND tipo='$tipo' ";

    $result = pg_query($query);

    while($row = pg_fetch_assoc($result))
    {
    //fai una certa cosa
    }

    stampando la query è così:

    SELECT * FROM assegnazione_assuntore_auto WHERE stato='completata' AND corrispondente='d\'alò' AND tipo='Auto'

    Se dal dbms la eseguo, funziona correttamente, se invece la eseguo da programma, non entro nella condizione del while, come se non avessi alcun risultato.
    Se il nome del corrispondente è senza apostrofo, anche da programma funziona tutto correttamente.
    Per favore, come potrei risolvere ?

  2. #2
    Io sapevo che l'escape delle ' all'interno delle query deve essere fatto raddoppiando il '' invece che con \' . Non so se hai gia provato se è quello.
    OUTSHINE '84

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67
    Originariamente inviato da Outshine84
    Io sapevo che l'escape delle ' all'interno delle query deve essere fatto raddoppiando il '' invece che con \' . Non so se hai gia provato se è quello.
    Funziona con entrambi, almeno con il postgres è così.


    Comunque ho appena risolto così:

    $corrispondente = addslashes($corrispondente);

    e poi nella query: corrispondente='".stripslashes($corrispondente)."'

    Stranissimo però, che se stampo la query è praticamente la stessa di prima con il nome scritto così: corrispondente='dbackslash'alò'



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.