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

MySQL_real_escape_string non aggiunge barre?

m_r_e_s() RESTITUISCE il valore di escape, non modifica l'originale.

$int = mysql_real_escape_string($_POST['int']);

$query = "UPDATE ... interests = '$int' ...";

Nota che ho aggiunto virgolette intorno a int nel valore POST. Senza le virgolette, PHP lo vede come un valore costante (ad es. define()). Se non trova una costante con quel nome, presume gentilmente che tu intenda utilizzare una stringa e regola di conseguenza, ma emette un avviso. Se l'avessi fatto

define('int', 'some totally wonky value');

in precedenza, avresti avuto accesso al valore POST sbagliato, perché PHP lo vedrebbe come $_POST[some totally wonky value] invece.