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

Mysql + php com caracteres especiais como '(Apóstrofo) e (Aspas)


Sua string sql será:
INSERT INTO `table` (`row1`) VALUES ('google's site')

O que não é uma afirmação válida. Como Nanne escreveu, escape a string pelo menos com mysql_real_escape_string :http ://php.net/manual/en/function.mysql-real-escape-string.php

E leia sobre injeção de sqlhttp://en.wikipedia.org/wiki/SQL_injection

Pense um pouco:se alguém postar isso:$_POST['text'] com valor:');delete from table;....

Você pode dizer adeus aos seus dados :)

Sempre filtre/escape de entrada!

EDIT:A partir do PHP 5.5.0, mysql_real_escape_string e a extensão mysql estão obsoletos. Por favor, use a extensão mysqli e a função mysqli::escape_string