Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql + php con caratteri speciali come '(Apostrofo) e (virgolette)

La tua stringa sql sarà:

INSERT INTO `table` (`row1`) VALUES ('google's site')

Che non è un'affermazione valida. Come ha scritto Nanne, esegui l'escape della stringa almeno con mysql_real_escape_string :http ://php.net/manual/en/function.mysql-real-escape-string.php

E leggi l'iniezione di sqlhttp://en.wikipedia.org/wiki/SQL_injection

Pensa un po':se qualcuno pubblica questo:$_POST['text'] con valore:');delete from table;....

Puoi dire addio ai tuoi dati :)

Filtra/esci sempre dall'input!

EDIT:a partire da PHP 5.5.0 mysql_real_escape_string e l'estensione mysql sono deprecate. Utilizzare invece l'estensione mysqli e la funzione mysqli::escape_string