php+mysql+like+通配符+变量

php+mysql+like+通配符+变量,第1张

三种方法:

一像你这种aa前后都是特殊字符,而且最外侧是双引号的可以直接写变量名

$result = mysql_query("SELECT  FROM table1 WHERE name LIKE '%$var%'");

二也可以使用点连接符对字符串进行连接:

$result = mysql_query("SELECT  FROM table1 WHERE name LIKE '%"  $var  "%'");

三可以使用{}代码域来分隔变量名,这种用法更适用于变量后有数字、字母、下划线的情况,它可以明确地将变量与字符串区分开来:

$result = mysql_query("SELECT  FROM table1 WHERE name LIKE '%{$var}%'");

Access查询中使用的默认语法是“Microsoft Jet SQL”,而ADO中使用的SQL语法是“ANSI SQL”。

这两种语法存在轻微的差别(中间还包含某些特殊函数和功能)并非完全兼容。其中通配符就不一样。对于多个字符,前者是 而后者是% ; 对于单个字符,前者是 而后者是_。

匹配字符 Microsoft Jet SQL ANSI SQL

任何单个字符 _(下划线)

零个或多个字符 %

解决楼主问题的办法是将SQL like运算符后面的 替换为 %

pfilename like '%三个%'

这样就可以查到数据了。

当然我们也可以将ACCESS数据库查询的语法设置为兼容ANSI SQL(在ACCESS选项那里设置),但是这样做的话,编写SQL语句就要遵循ANSI SQL语法规则了。对于之前已经使用过的ACCESS数据库不建议这样做,因为很可能会导致原有编写的SQL查询失效,进而造成诸多不便。

答案是A。

like在SQL中被叫做模糊查询,也就是关键字查找功能。通配符就是百分号。例如like'%百度'实现的是查找以百度两个字为结尾的数据。like '百度%'是查找以百度开头的数据, like '%百度%'是包含百度两个字的数据条目

你需要的是神马结果啊,那些出现,那些过滤

如果FKid是是等于的,不能用字符串比较啊,直接 CASE(Fkid as int) = (select id) 多好

我明白你的意思了,你Fkid 保存的是'1,2,3' 这样的是吧,首先这是一个很不合理的保存方式,效率低。如果想用这种,效率比较高的方式就是,在Fkid的首尾都加上逗号',',这样,like的时候,匹配值使用',id,',这样就唯一匹配了

ps:下次不要用评论,用追问

你的这个语句是模糊查询,查询所有带有“思”的name,有关like的用法给你个网址说的很好理解,举例说明的更能让人理解并记住。建议你看一下这个网址like的用法。。>

是的,跟具体的数据库有关。

一般通用的数据库的like使用 % ,但是ACCESS是不一样的,具体使用是这样:

select from 地名索引 where [name] like '天宁%%';

select from 地名索引 where [name] like '%%天宁%%';

最好参考一下数据库的说明文档。

以上就是关于php+mysql+like+通配符+变量全部的内容,包括:php+mysql+like+通配符+变量、access sql like 通配符、,在查询分析器中使用T-SQL 语句查询数据,使用Like 关键字来匹配单个字符,那么其通配符是( ). A,% B:* C:#等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9541468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存