## AND OR
上面是基础的Where语句,下面看一下复杂一点的
你可以使用"AND" 或 "OR" 来拼接非常复杂的SQL语句
~~~
<?php
namespace Action;
use HY\Action;
class Index extends Action {
public function Index(){
//实例User表为对象
$User = S("User");
// 基础使用
$User->select("user_name", array(
"AND" => array(
"user_id[>]" => 200,
"age[<>]" => array(18, 25),
"gender" => "female"
)
));
// WHERE user_id > 200 AND age BETWEEN 18 AND 25 AND gender = 'female'
$User->select("user_name", array(
"OR" => array(
"user_id[>]" => 200,
"age[<>]" => array(18, 25),
"gender" => "female"
)
));
// WHERE user_id > 200 OR age BETWEEN 18 AND 25 OR gender = 'female'
// 复合条件
$User->has(array(
"AND" => array(
"OR" => array(
"user_name" => "foo",
"email" => "foo@bar.com"
),
"password" => "12345"
)
));
// WHERE (user_name = 'foo' OR email = 'foo@bar.com') AND password = '12345'
// 注意
// 因为使用的是数组传参,所以下面这种用法是错误的。
// 可见 你有两个OR ,数组不可能存在两个相同索引. 所以你需要将另一个OR 加上一个注释
$User->select('*', array(
"AND" => array(
"OR" => array(
"user_name" => "foo",
"email" => "foo@bar.com"
),
"OR" => array(
"user_name" => "bar",
"email" => "bar@foo.com"
)
)
));
// [X] SELECT * FROM "account" WHERE ("user_name" = 'bar' OR "email" = 'bar@foo.com') 这是错误的示范
// 正确的方式是使用如下方式定义复合条件
$User->select('*', array(
"AND #Actually, this comment feature can be used on every AND and OR relativity condition" => array(
"OR #the first condition" => array(
"user_name" => "foo",
"email" => "foo@bar.com"
),
"OR #the second condition" => array(
"user_name" => "bar",
"email" => "bar@foo.com"
)
)
));
// SELECT * FROM "account"
// WHERE (
// (
// "user_name" = 'foo' OR "email" = 'foo@bar.com'
// )
// AND
// (
// "user_name" = 'bar' OR "email" = 'bar@foo.com'
// )
// )
}
}
~~~
- HYPHP框架前言
- 基本认识
- 环境要求
- 框架目录结构
- 入口文件
- 开始使用
- 访问框架
- 控制器
- 控制器定义
- 空控制器空函数
- 显示模板
- 模板变量赋值
- Json输出
- URL缩短控制器方法
- URL生成
- 请求类型
- 模板
- 建立模板
- 模板分组
- ----标签类----
- 输出变量
- 包含模板
- 判断标签
- 循环标签
- 数据库模型
- 数据库介绍
- 连接数据库
- 多数据库
- 配置多数据库
- 使用多数据库
- where条件
- 基础where
- AND OR
- LINK 模糊查找
- ORDER 排序
- MATCH 多键搜索
- 数据库内置函数
- LIMIT
- Select
- 多表Select
- Insert 插入数据
- Update 更新数据
- Delete 删除数据
- Find 查找一行
- Has 是否存在该数据
- Count 总数
- Max/Min 表最大/小值
- Action 事务
- 原生查询
- Model 定义
- 调试模式
- 查询缓存
- 自定义类库
- 框架内置函数
- X 获取预定义变量
- S 与 M 函数
- C 获取config配置
- A 调用另一个控制器方法
- cookie 与 session 函数
- E 函数
- cache 数据缓存
- F 文件数据缓存
- 判断电脑端移动端
- vendor 映射自动加载类路径
- 框架内置常量
- 框架内置Config.php配置
- 插件模式
- 开启插件模式
- 新建插件
- 插件独立开关
- 中文PHP
- 简介
- 开启支持
- 中文API
- 使用示例
- 加入自定义中文函数配置