Where 条件表达式格式为:
$map['字段名'] = array('表达式', '操作条件');
其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:
eq | = | $map['id'] = array('eq',100); | 等效于:$map['id'] = 100; |
neq | != | $map['id'] = array('neq',100); | id != 100 |
gt | > | $map['id'] = array('gt',100); | id > 100 |
egt | >= | $map['id'] = array('egt',100); | id >= 100 |
lt | < | $map['id'] = array('lt',100); | id < 100 |
elt | <= | $map['id'] = array('elt',100); | id <= 100 |
like | like | $map<'username'> = array('like','Admin%'); | username like 'Admin%' |
between | between and | $map['id'] = array('between','1,8'); | id BETWEEN 1 AND 8 |
not between | not between and | $map['id'] = array('not between','1,8'); | id NOT BETWEEN 1 AND 8 |
in | in | $map['id'] = array('in','1,5,8'); | id in(1,5,8) |
not in | not in | $map['id'] = array('not in','1,5,8'); | id not in(1,5,8) |
and(默认) | and | $map['id'] = array(array('gt',1),array('lt',10)); | (id > 1) AND (id < 10) |
or | or | $map['id'] = array(array('gt',3),array('lt',10), 'or'); | (id > 3) OR (id < 10) |
xor(异或) | xor | 两个输入中只有一个是true时,结果为true,否则为false,例子略。 | 1 xor 1 = 0 |
exp | 综合表达式 | $map['id'] = array('exp','in(1,3,8)'); | $map['id'] = array('in','1,3,8'); |
补充说明
- 同 SQL 一样,ThinkPHP运算符不区分大小写,eq 与 EQ 一样。
- between、 in 条件支持字符串或者数组,即下面两种写法是等效的:
$map['id'] = array('not in','1,5,8'); $map['id'] = array('not in',array('1','5','8'));
exp 表达式
上表中的 exp 不是一个运算符,而是一个综合表达式以支持更复杂的条件设置。exp 的操作条件不会被当成字符串,可以使用任何 SQL 支持的语法,包括使用函数和字段名称。
exp 不仅用于 where 条件,也可以用于数据更新,如:
$Dao = M("Article"); // 构建 save 的数据数组,文章点击数+1 $data['id'] = 10; $data['counter'] = array('exp','counter+1'); // 根据条件保存修改的数据 $User->save($data);
相关推荐
本文将详细解析在ThinkPHP中`Where`条件表达式的使用方法,以及与SQL运算符的对应关系。 `Where`条件表达式的基本格式如下: ```php $map['字段名'] = array('表达式', '操作条件'); ``` 在这个结构中,`$map`是一...
在Thinkphp中使用MongoDB进行多条件查询时,需要对框架提供的驱动进行一定的修改以适应MongoDB的查询方式。 在Thinkphp中实现多条件查询时,可以使用框架提供的查询构建器(Query Builder),但是当涉及到MongoDB的...
where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也...
在ThinkPHP3.2框架中,`where`条件查询是进行数据库操作时不可或缺的一部分,它允许开发者构建复杂的查询条件来筛选数据。以下是对ThinkPHP3.2中`where`条件查询用法的详细说明: 1. **基本条件查询**: - `EQ`...
总之,ThinkPHP的where方法是实现复杂查询逻辑的强大工具,它支持多种参数形式,并允许使用灵活的查询表达式来满足开发中对数据检索的各种需求。开发者需要根据实际情况选择合适的参数形式和查询表达式,以确保...
PHP 表达式 WHERE 查询是一种灵活且强大的查询方式,它允许开发者使用各种查询语法来构建复杂的查询条件。本文将详细介绍 PHP 表达式 WHERE 查询的使用格式、支持的查询语法和示例。 使用格式 ---------- PHP ...
查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式: where('字段名','表达式','查询条件'); whereOr('字段名','表达式','查询条件'); 5.1还支持新的查询方法 whereField('...
2. **正常赋值更新**:可以通过直接赋值给数据对象或者使用`where()`和`save()`组合更新指定条件的数据。 3. **修改特定字段**:使用`setField()`方法可以单独更新某个字段的值。 4. **系统函数**:`setInc()`和`...
本文将详细解析ThinkPHP表达式查询的用法,以及如何在where条件和模板标签中使用它们。 1. **表达式查询的基本概念** 表达式查询是ThinkPHP框架特有的功能,它主要用于构造查询、更新和删除操作的where条件。这些...
本文将重点分析ThinkPHP中的普通查询与表达式查询。 一、普通查询方式 1. 字符串方式 在ThinkPHP中,我们可以使用字符串方式来执行查询。例如,以下代码会查找性别为0且用户名为'gege'的记录: ```php $arr = $m->...
ThinkPHP3.1的查询语言为开发者提供了简洁、强大的数据查询接口,通过数组和对象方式设定查询条件,结合查询表达式,可以方便地完成各种复杂的数据查询操作。同时,考虑到安全问题,推荐使用数组方式并配合预处理来...
ThinkPHP6.0提供了丰富的数据库操作功能,包括数据库连接、分布式数据库、查询构造器、查询数据、添加数据、更新数据、删除数据、查询表达式、链式操作、where、table、alias、field、strict、limit、page、order、...
这里的`where`方法接受一个数组作为参数,数组中的键是字段名,值是条件,通过这种方式可以灵活地构建查询条件。 1.7针对主键的几个特殊用法 ThinkPHP提供了针对主键的一些特殊操作,比如`find`方法用于根据主键...
该方法使用了ThinkPHP框架的Db类来执行数据库查询,然而,在wp_where方法中存在一个EXP表达式注入漏洞。 EXP表达式注入漏洞是指攻击者可以inject恶意的EXP表达式,导致数据库执行恶意查询,泄露敏感信息或执行任意...
通过使用特定的表达式,开发者可以构建复杂的查询条件,例如`$map['id'] = array('eq',100);`等同于`$map['id'] = 100;`,表示查询id等于100的记录。以下是一些常见的查询表达式: - EQ:等于(=) - NEQ:不等于...