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

Mysql + php con caracteres especiales como '(Apóstrofe) y (Comillas)

Su cadena sql será:

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

Lo cual no es una afirmación válida. Como escribió Nanne, escape de la cadena al menos con mysql_real_escape_string:http ://php.net/manual/en/function.mysql-real-escape-string.php

Y lea sobre la inyección sqlhttp://en.wikipedia.org/wiki/SQL_injection

Piensa un poco:si alguien publica esto:$_POST['text'] con valor:');delete from table;....

Puedes despedirte de tus datos :)

¡Siempre filtre/escape la entrada!

EDITAR:A partir de PHP 5.5.0, mysql_real_escape_string y la extensión mysql están en desuso. Utilice la extensión mysqli y la función mysqli::escape_string en su lugar