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

Consulta MySQL não inserida quando a variável PHP contém aspas simples


Considere usar consultas parametrizadas usando PDO por exemplo.

Como alternativa, coloque suas variáveis ​​entre colchetes {}.

Editar:

Eu perdi sua variável $subject contém aspas simples. Isso significa que você tem que escapar deles. (Veja a miríade de outras respostas e mysql_real_escape_string() sobre isso.) Mas como você pode ver, aspas simples dentro da variável é exatamente como os ataques de injeção funcionam. Escapá-los ajuda a evitar esses problemas, além de permitir que sua consulta armazene os dados esperados.

Nenhuma resposta sobre ataques de injeção é completa sem fazer referência a Bobby Tables .