Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Escapando aspas simples em PHP ao inserir no MySQL


Você deve escapar de cada uma dessas strings (em ambos os snippets) com mysql_real_escape_string() .

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

O motivo pelo qual suas duas consultas estão se comportando de maneira diferente provavelmente é porque você tem magic_quotes_gpc ligado (o que você deve saber que é uma má ideia). Isso significa que as strings coletadas de $_GET, $_POST e $_COOKIES são escapadas para você (ou seja, "O'Brien" -> "O\'Brien" ).

Depois de armazenar os dados e, em seguida, recuperá-los novamente, a string que você recebe de volta do banco de dados não ser automaticamente escapado para você. Você receberá de volta "O'Brien" . Então, você precisará passá-lo através de mysql_real_escape_string() .