| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 887 人关注过本帖
标题:搜索出问题了,请求指点。
只看楼主 加入收藏
xiapi
Rank: 1
等 级:新手上路
威 望:2
帖 子:305
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:15 
搜索出问题了,请求指点。
我做的一个搜索,从标题和内容两个字段搜索含有关键词的内容,我发现有很多含有关键词的东西都搜索不出来,换成只从一个字段搜索就可以全部搜索出来。
下面是sql语句:
sql="select * from news where key=1 and (news_title like'%"&word&"%' or news_content like'%"&word&"%') "
用这句搜索很多都搜索不出来。用下面这两种搜索就可以全部搜索出来:
sql="select * from news where key=1 and news_title like'%"&word&"%' "
sql="select * from news where key=1 and news_content like'%"&word&"%' "

请问这是怎么回事


搜索更多相关主题的帖子: 请求 搜索 
2007-06-11 17:32
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 
把括号去掉试试.
2007-06-11 18:12
xiapi
Rank: 1
等 级:新手上路
威 望:2
帖 子:305
专家分:0
注 册:2006-10-11
收藏
得分:0 

括号去掉了是不是这两个搜索条件就不对等了,因为前面是AND这两个中间用的是OR


没有什么能够阻挡,我对自由的向往,天马行空的生涯一颗心了无牵挂。
2007-06-11 19:17
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
用子查询呢
sql="select * from news where (key=1 and news_title like'%"&word&"%') or (key=1 and news_content like'%"&word&"%') "
这个样子呢?

2007-06-11 19:26
xiapi
Rank: 1
等 级:新手上路
威 望:2
帖 子:305
专家分:0
注 册:2006-10-11
收藏
得分:0 
还是一样,很多都搜索不出来

没有什么能够阻挡,我对自由的向往,天马行空的生涯一颗心了无牵挂。
2007-06-12 08:35
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 
把括号去掉不行吗?
2007-06-12 08:38
xiapi
Rank: 1
等 级:新手上路
威 望:2
帖 子:305
专家分:0
注 册:2006-10-11
收藏
得分:0 

括号去了也还是老样子,刚刚发现如果后面加上 order by  就会什么都搜索不到


没有什么能够阻挡,我对自由的向往,天马行空的生涯一颗心了无牵挂。
2007-06-12 09:00
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 
sql="select * from news where (news_title like'%"&word&"%' or news_content like'%"&word&"%') and key=1 "
你要不这样试一下?
2007-06-12 09:11
xiapi
Rank: 1
等 级:新手上路
威 望:2
帖 子:305
专家分:0
注 册:2006-10-11
收藏
得分:0 

我找了一个关键词用不同的句子测试测试了一下大家分析一下,后面是搜索到的信息条数:
sql="select * from news where key=1 and news_title like'%"&word&"%' "          303条
sql="select * from news where key=1 and news_title like'%"&word&"%' order by id desc" 303条
sql="select * from news where key=1 and news_content like'%"&word&"%' "         579条
sql="select * from news where key=1 and news_content like'%"&word&"%' order by id desc" 0条
sql="select * from news where key=1 and (news_title like'%"&word&"%' or news_content like'%"&word&"%') " 276条

sql="select * from news where key=1 and (news_title like'%"&word&"%' or news_content like'%"&word&"%') order by id desc" 0条

sql="select * from news where (key=1 and news_title like'%"&word&"%') or (key=1 and news_content like'%"&word&"%') " 276条

sql="select * from news where (key=1 and news_title like'%"&word&"%') or (key=1 and news_content like'%"&word&"%') order by id desc" 0条

我发现只要条件中含有 news_content 就不能用 order by 否则什么都搜不到



没有什么能够阻挡,我对自由的向往,天马行空的生涯一颗心了无牵挂。
2007-06-12 09:19
xiapi
Rank: 1
等 级:新手上路
威 望:2
帖 子:305
专家分:0
注 册:2006-10-11
收藏
得分:0 
问题没有解决自己顶下

没有什么能够阻挡,我对自由的向往,天马行空的生涯一颗心了无牵挂。
2007-06-12 15:10
快速回复:搜索出问题了,请求指点。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016734 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved