sql >> Base de Datos >  >> RDS >> Mysql

Escape de comillas simples en PHP al insertar en MySQL

Debería escapar de cada una de estas cadenas (en ambos fragmentos) con mysql_real_escape_string() .

http://us3.php.net/mysql-real-escape-string

La razón por la que sus dos consultas se comportan de manera diferente es probablemente porque tiene magic_quotes_gpc encendido (que debe saber que es una mala idea). Esto significa que las cadenas recopiladas de $_GET, $_POST y $_COOKIES se escapan para usted (es decir, "O'Brien" -> "O\'Brien" ).

Una vez que almacene los datos y los recupere posteriormente, la cadena que obtenga de la base de datos no ser automáticamente escapado para usted. Recibirás "O'Brien" . Por lo tanto, deberá pasarlo a través de mysql_real_escape_string() .