mysql 模糊查询

没有输入内容,点一下查询,就出来了所有的内容?而且只要输入name中的某个数据,所有的内容都出来了。$exec="select*fromtablenamewherenam... 没有输入内容,点一下查询,就出来了所有的内容?
而且只要输入name中的某个数据,所有的内容都出来了。
$exec="select * from tablename where name like '%$name%'";
我数据表中就有一项name。
如果什么都不输入,点“查询”也不会出现任何结果该怎么写?
展开
 我来答
奔驰M888
推荐于2017-09-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2722万
展开全部
1、如果你什么也没有输入的话,sql语句就如下:
select * from tablename where name like '%%';
这样的话就是 name 等于任何字符都会被查出,当然所有内容都会出来了。

2、这不是问题,从查询的设计角度看,什么都不输入自然是要匹配所有数据,相反输入了东西就是匹配它了。

*****************
补充:
*****************
如果你想什么都不输入的时候什么也不返回的话方法如下:
在后台写两个sql,类似如下
if ($name == ""){
$exec="select * from tablename where 1=2";
}else{
$exec="select * from tablename where name like '%$name%'";
}

---
以上,希望对你有所帮助。
篮山
2009-09-17 · TA获得超过250个赞
知道小有建树答主
回答量:289
采纳率:0%
帮助的人:68.3万
展开全部
我描述下
应该是 输入什么就出什么(这儿有2个方向,1.模糊查询2.精确查询)
然后不输入就查询全部的

根据你的描述是第一个应该
select * from tablename where name like ''%''+$name+''%''

你试下
大概就是这样的

如果什么都不输入,点“查询”也不会出现任何结果该怎么写?
那就不要用like 直接用=号
把where 后的改为 name = '$name'

因为数据多了like的效能不好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华夏日长兴
2009-09-17 · TA获得超过9593个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3776万
展开全部
给你个思路吧,如果什么都不输入,那么$name的值就是空值,你可以在前台加判断,如果是空值的话那返回就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雁子sunshine30
2019-03-21 · TA获得超过289个赞
知道答主
回答量:170
采纳率:0%
帮助的人:6.5万
展开全部
查询姓名由5个字母构成的学生记录
SELECT *
FROM stu
WHERE sname LIKE '_____';
模糊查询必须使用LIKE关键字。其中 “_”匹配任意一个字母,5个“_”表示5个任意字母。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
turbofx
2009-09-17
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
模糊查询不复杂,你的表达能力倒是个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式