|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2006
Messaggi: 194
|
[PHP] query e punteggiatura
Ho un piccolo problema con le querri in mysql/PHP
creando un form con un box testo passo una variabile passo la variabile che ho scritto nel box testo $variabile = $_POST['nometesto']; creo la querry di inserimento: $q = "insert into 'nometabella' ('id', 'titolo') values ('1', '$variabile')"; la eseguo. allora se la variabile non a una punteggiatura esempio (call of duty) la queri funziona perfettamente se invece la variabile a la punteggiatura eseempio (l'avventura) la quelli si blocca e non mi inserisce i dati. il problema e che l'apice di "l'a" va a intaccare la stringa della querry($q) chiudendola al momento dell'apice ciao la sintassi verrebbe cosi: $q = "insert into 'nometabella' ('id', 'titolo') values ('1', 'l'avventura')"; osi l'errore verrà riscontrato nella parte( l' ). Come posso fare ad impedirlo |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2004
Messaggi: 252
|
prima di inserire le stringhe nel db usa la funzione php addslashes()
$varibile=addslashes($variabile); mentre in fase di estrazione usi stripslashes() e la stringa ti ritorna normale |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Apr 2006
Messaggi: 194
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Se hai un PHP recente puoi usare le funzioni specifiche del MySQL:
mysql_escape_string (PHP >= 4.0.3) oppure (meglio) mysql_real_escape_string (PHP >= 4.3.0) Sono più "complete" rispetto alla addslashes.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:18.



















