单引号查询显示为空

时间:2012-04-28 17:57:52

标签: php mysql forms mysql-workbench

我有一个表单,当您选择下拉文章时,文本框会填入您选择的内容。现在它的工作非常好,除非文章名称中有“单引号”。

我有一个函数可以通过在它们前面放置反斜杠来转义引号,它确实...

现在生成的查询如下:_

SELECT * FROM blogs WHERE title='MySQL \'Inject' AND series='iOS Game Dev.' AND language='iOS' LIMIT 1

我有一个函数可以创建文章的对象,并根据所选行设置所有内容的值。当我显示由运行查询的函数生成的数组时,它给出了这个..

Blog Object
(
 [id] => 
 [title] => 
 [publish_date] => 
 [author] => 
 [language] => 
 [series] => 
 [likes] => 
 [content] => 
 [position] => 
 [status] => 
 [last_updated] => 
) 

如果文章名称中没有单引号,但它没有填充文本框,因为数组为空,它可以正常工作。

更多关于标题数据库中存储的值是MySQL \'Inject。所以我真的不明白它为什么要这样做,我甚至尝试在MySQL Workbench中运行查询并且它什么也没有返回。所以这在我的代码中不是问题,我很确定。

1 个答案:

答案 0 :(得分:2)

我建议你省去所有担心逃避的痛苦,只使用准备好的语句,将变量作为参数传递给它。

This blog article有一个很好的教程。