+-
如何在PHP中处理SQL查询中的单引号?
我正在使用特定的查询来插入记录.一切顺利.我甚至用选择查询获取记录.但我的问题是,如果记录包含单引号”,那么它会给我这个错误:

> NOTE:You have an error in your SQL syntax; 
>     check the manual that corresponds to your MySQL server 
>     version for the right syntax to use near 'B''' at line 1

SELECT查询是:

$result= mysql_query("SELECT s.name, 
                             s.sid as sid, 
                             s.category, 
                             p.name as pname 
                         FROM poet p 
                         INNER JOIN song s 
                            ON p.pid = s.pid 
                         WHERE s.name= '$sid'") or die(mysql_error());

我该怎么做才能跳过引号问题.当我想在我的记录中插入引号时.

最佳答案
你的问题比这更糟糕 – 如果有人输入了价值’; DROP TABLE诗人; – ?您需要使用mysql_real_escape_string()来转义值,或使用参数化查询(例如,使用PDO).

这是2011年,因为大声哭泣.为什么SQL注入仍然是一个普遍的问题?

点击查看更多相关文章

转载注明原文:如何在PHP中处理SQL查询中的单引号? - 乐贴网