PHP或MySQL正在用回显输出中的乱码替换某些字符串字符

时间:2015-03-31 22:41:31

标签: php mysql

我有一个看起来像这样的查询代码(是的,我知道我的输入没有被清理):

$search_query = "SELECT * FROM `comments` WHERE comment LIKE '%".$_POST['search_query']."'%";

但无论出于什么原因,当我输入'假'这个词时,我回复它,它就像这样:

SELECT * FROM `comments` WHERE comment LIKE '0.000000ake'

我真的不知道这里发生了什么。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

如果可能的话,清理输入。 还使用echo函数回显字符串。 如果我不得不猜测,%false%正在打印一个printf或sprintf函数(或类似函数),它将%f转换为不同的东西。

答案 1 :(得分:0)

试试这个:

$search_query = "SELECT * FROM `comments` 
WHERE comment LIKE '%{$_POST['search_query']}%' ";

我改变了两件事:我将concat切换到花括号,你的结束报价也在第二个百分比内。