2013-01-16 58 views
-1

感谢您的查看。LIKE查询无法正常运作

我正在尝试为我的网站创建一个自定义搜索插件,以便将我的数据库行中的值从我的用户输入到搜索框中的任何查询中获取。我为我的搜索插件运行ajax。

它似乎最初功能,但我知道它不会发生所有值输入。

下面是我的脚本:

.POST脚本

$search=$_POST['search']; 
    if($type=='search'){ 
     $query_str=$search; 
     $query1="SELECT * FROM ads1_adsmanager_ads WHERE ad_headline LIKE '%$query_str%' OR ad_text LIKE '%$query_str%' ORDER BY id DESC LIMIT $count"; 
    }else if($type='normal'){ 
     . 
     .. 
     .. .. 

我能够得到更普遍的价值观,如“演示”,......等等等等

但我不能得到像“一般”,“工作”等等的值等。

一直在寻找大量的例子,并试图围绕变量$ query_str和所有括号,但我不知道如果吨这是我的查询影响结果的任何语法问题。

肯定会在这里感谢一些帮助。

+1

所有这些“演示”和“工作”等于数据库。问这样一个问题必须提供示例数据和失败的查询。目前没有什么可以回答的问题 –

+1

另外,研究一下SQL注入漏洞。如果你打算在任何地方发布网页。它是一个非常常见和易于破解的黑客攻击。 – twDuke

+0

演示和作业是用户输入的查询。我在我的数据库中查看了他们的广告标题和广告描述。只有演示返回结果。并非全部。 – Lawrence

回答

-1

查询将被

$query1="SELECT * FROM ads1_adsmanager_ads WHERE ad_headline LIKE '%".$query_str."%' OR ad_text LIKE '%".$query_str."%' 
+0

试过了。无法工作 – Lawrence

+0

exit($ query1)并发布值.. – Codesen

+0

SELECT * FROM ads1_adsmanager_ads WHERE ad_headline LIKE'%demo%'or ad_text LIKE'%demo%'ORDER BY id DESC LIMIT – Lawrence

0

最简单的方法是只检查查询,只是echo $query1,你会看到错误,也喜欢在评论一个老乡说,尽量把它放在一个查询控制台其中是在phpmyadmin,它也会告诉你错误,如果他们存在