PDA

View Full Version : [PHP] query e punteggiatura


Joblack84
01-08-2006, 13:32
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

orpheus
01-08-2006, 13:41
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

Joblack84
01-08-2006, 14:43
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

grazie mille dell'aiuto mi sei stato utilissimo

andbin
01-08-2006, 21:07
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.