当PHP变量包含单引号时,不插入MySQL Query

log*_*gan -1 php mysql insert

当变量$ subject具有单引号时,不插入此查询.有可能的解决方案吗?

mysql_query("INSERT INTO  table  (to_email_id,subject) values('$to','$subject');");
Run Code Online (Sandbox Code Playgroud)

JYe*_*ton 7

例如,考虑使用PDO使用参数化查询.

或者,将变量括在括号{}中.

编辑:

我错过了你的变量$subject 包含单引号.这意味着你必须逃脱它们.(请参阅无数其他答案以及相关mysql_real_escape_string()内容.)但是正如您所看到的,变量内部的单引号正是注入攻击的工作原理.转义它们有助于防止此类问题,并允许您的查询存储预期的数据.

没有引用Bobby Tables就没有关于注入攻击的答案.