我想从MySql(yii框架)中获取备件。部分标题包含'
,用于
例如:OUTLANDER '03-06
出于安全原因,我将查询字符串参数编码为htmlspecialchars()
(将特殊字符转换为HTML实体)以成为这样的查询:
SELECT *
FROM assortment
WHERE title LIKE "%OUTLANDER '03-06 %"
LIMIT 0 , 10
然而会产生空结果。
如果我只通过addign斜杠转义'
,那么这样的查询就可以了:
SELECT *
FROM assortment
WHERE title LIKE "%OUTLANDER \'03-06 %"
LIMIT 0 , 10
有什么问题?我是否仍然需要将htmlspecialchars()
应用于输入参数以使其成为安全HTML实体的安全原因,这将是一个什么解决方案?
答案 0 :(得分:0)
我认为你必须使用" mysql_real_escape_string()"代替。
参考:http://www.w3schools.com/php/func_mysql_real_escape_string.asp
答案 1 :(得分:0)
函数htmlspecialchars()
并不意味着在查询中转义字符串。您应该使用以下功能之一: