Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    682

    Problema apici nella query

    Salve sto utilizzando Php con le funzioni ODBC per connettermi ad un database MS-Access per registrare dati da un form.
    Il problema é banale funziona tutto provando a debuggare ho inserito
    un cognome con apice per vedere come reagiva il database e mi becco un errore.
    Con un cognome tipo Dell'Aquila
    $cognome = addslashes(stripslashes(trim($_POST["cognome"])));
    Mi da un errore comunicandomi proprio un errore sintassi.
    Come posso fare ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Mi pare che il carattere di escape per MS-Access non sia \ ma '.

    La funzione addslashes/stripslashes di default usa \

    Nel tuo caso invece che "dell\'aquila" dovrebbe essere "dell''aquila". Credo sia questo il problema.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    682
    Quindi dovrei togliere gli slash che PHP inserisce con la direttiva
    magic_quotes_gpc attiva e poi riuscire ad aggiungere un altro apice
    a quelli presenti ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da kioto
    Quindi dovrei togliere gli slash che PHP inserisce con la direttiva
    magic_quotes_gpc attiva e poi riuscire ad aggiungere un altro apice
    a quelli presenti ?
    Direi di si.

    Se guardi il file php.ini c'è un punto specifico per questo. Dovresti parsare tutti i caratteri che lo necessitano.

    http://www.php.net/manual/it/ref.info.php

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    682
    Avevi detto bene ho risolto in questo modo:
    $nome = str_replace("'","''", $nome);
    Putroppo mi tocca richiamarla su parecchi campi
    il codice diventa un pastrocchio.
    Come dico sempre io datemi un apice e vi sollevero il mondo

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da kioto
    Avevi detto bene ho risolto in questo modo:
    $nome = str_replace("'","''", $nome);
    Putroppo mi tocca richiamarla su parecchi campi
    il codice diventa un pastrocchio.
    Come dico sempre io datemi un apice e vi sollevero il mondo
    Ma poi devi riabbassarlo e togliere l'apice di troppo.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    682
    Che cosa intendi per riabbassarlo

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da kioto
    Che cosa intendi per riabbassarlo
    Se con un apice sollevi ... poi ricordati che l'apice andrà tolto nel momento della lettura del dato dal database. (riabbassi figurato)

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.