查询
您正在阅读旧版文档,新版文档已迁移至 [https://document.pescms.com]
目录
PESCMS为开发者提供了4个方法。分别为:find(), select(), fetch(), getAll()。前两个可以结合SQL构造器完成一系列SQL动作,后两个为原生SQL方式
示例中均以在控制器中操作作说明。
一维数组的查询
find()
参数 | 说明 | 备注 |
---|---|---|
$param | 插入占位符绑定的内容数组 | 非必填。若与SQL构造器使用时,存在占位符则必填 |
$fieldType | 字段类型绑定,与占位符长度一致的数组 | 非必填。字段绑定具体请参阅PHP官网 |
fetch()
参数 | 说明 | 备注 |
---|---|---|
$sql | SQL语句 | 必填 |
$param | 插入占位符绑定的内容数组 | 非必填。若使用了占位符则必填 |
$fieldType | 字段类型绑定,与占位符长度一致的数组 | 非必填。字段绑定具体请参阅PHP官网 |
find()和fetch()方法为一维数组查询,这是什么?他们两者在查询成功后,返回的结果集为一个一维数组。通常适用于,查询单个结果的业务。下面通过示例进行说明,现在通过$_GET['id']查询指定用户的信息
<?php //find()方法与SQL构造器结合使用查询用户信息 $userInfo = $this->db('user')->where('user_id = :id')->find(array('id' => $_GTE['id']));
<?php //编写原生SQL时,请记得调用表前缀变量 $sql = "SELECT * FROM {$this->prefix}user WHERE user_id = :id"; //fetch()方法使用原生SQL时,db()方法可以不填写表名称的。 $userInfo = $this->db()->fetch($sql, array('id' => $_GET['id']));
二维数组的查询
select()
参数 | 说明 | 备注 |
---|---|---|
$param | 插入占位符绑定的内容数组 | 非必填。若与SQL构造器使用时,存在占位符则必填 |
$fieldType | 字段类型绑定,与占位符长度一致的数组 | 非必填。字段绑定具体请参阅PHP官网 |
getAll()
参数 | 说明 | 备注 |
---|---|---|
$sql | SQL语句 | 必填 |
$param | 插入占位符绑定的内容数组 | 非必填。若使用了占位符则必填 |
$fieldType | 字段类型绑定,与占位符长度一致的数组 | 非必填。字段绑定具体请参阅PHP官网 |
select()和getAll()方法为二维数组查询,这是什么呢?他们两者在查询成功后,返回的结果集为一个二维数组。通常适用于,获取多行结果的业务。下面通过示例进行说明,现在通过$_GET['uid']查询指定用户的订单表信息。
<?php //select()方法与SQL构造器结合使用 $orderList = $this->db('order')->where('user_id = :uid')->select(array('uid' => $_GET['uid']));
<?php //编写原生SQL时,请记得调用表前缀变量 $sql = "SELECT * FROM {$this->prefix}order WHERE user_id = :uid"; //getAll()方法使用原生SQL时,db()方法可以不填写表名称的。 $userInfo = $this->db()->getAll($sql, array('uid' => $_GET['uid']));