如果是在模型里面,可以使用 例如 $this-m->add()
add($data) 增加数据
功能 :向数据表内写入数据。
参数 :数值形式的数据对象(键名称对应数据表的字段名)
返回 :写入数据对应的主键数据值
说明 :插入数据后还可以使用 db对象 的 lastInsertId() 方法获取插入的主键值
示例 :
<?php class testController extends grace{ public function index(){ $db = \db('students'); $data = array( 'st_classid' => 3, 'st_name' => '小美', 'st_age' => 6, 'st_addtime' => time() ); $res = $db->add($data); echo '刚刚执行的 Sql : '. $db->getSql().'<br />'; if($res){ echo '执行成功'; echo $db->lastInsertId(); // 与 $res 等值 }else{ echo '错误 : '. $res->error(); } } }
getSql() 获取执行的sql命令
功能 :获取最近一次执行的操作命令
参数 :无
返回 :最近一次执行的操作命令
设置条件 where($where, $whereData)
功能 :设置sql条件(预处理机制)
参数 :1、条件(使用 ? 作为占位符)2、条件占位符对应的数值(数组格式)
返回 : 数据操作对象,可以进行连贯操作
演示 (一般是配合其他语句搭配使用)
$db->where('st_id = ? and st_name = ?', array(6, 'test'))
delete() 删除数据
功能 :删除一条或者多条符合条件的数据
参数 :无
返回 :true / false
示例代码
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db->where('st_id = ?', array(6))->delete(); p($res); } }
update() 更新数据
功能 :更新符合条件的数据
参数 :更新数据(数组格式,键名称对应数据表的字段名)
返回 :true / false
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $data = array('st_name' => '更新名称', 'st_agoe' => 7); $res = $db->where('st_id = ?', array(6))->update($data); p($res,2); } }
field() 指定字段的递加或递减
功能 :对指定字段进行递加递减
参数 :1、字段名称 2、递加值 (正数递加,负数递减)
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db->where('st_id = ?', array(2))->field('st_age', 1); p($res,2); } }
fetch() 单条数据查询
功能 :获取单条数据
参数 :查询字段(可省参数,默认 *)
返回 :查询成功返回数组形式的数据,失败返回空(可以使用empty函数判断)
说明 :可以配合条件、排序、limit等方法进行查询
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db->where('st_id = ?', array(2))->fetch('st_id, st_name, st_age'); p($res,2); } }
fetchAll() 多条数据查询
功能 :获取多条数据
参数 :查询字段(可省参数,默认 *)
返回 :查询成功返回数组形式的数据,失败返回空(可以使用empty函数判断)
说明 :可以配合条件、排序、limit分页等方法进行查询
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db ->where('st_id >= ?', array(2)) ->limit(0,10) ->fetchAll('st_id, st_name, st_age'); p($res,2); } }
order() 查询排序
功能 :设置排序规则
参数 :排序规则
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db ->where('st_id >= ?', array(2)) ->limit(0,10) ->order('st_id desc') ->fetchAll('st_id, st_name, st_age'); p($res,2); } }
limit($start, $num) 查询数据截取
功能 :设置limit,截取数据
参数 :1、起始位置, 2、数据条目数
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db ->where('st_id >= ?', array(2)) ->limit(0,2) ->order('st_id desc') ->fetchAll('st_id, st_name, st_age'); p($res,2); } }
group() 数据分组
功能 :设置数据分组
参数 :分组规则
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db->group('st_classid')->fetchAll(); p($res); } }
或者
//原始语句 select count('a.*'), b.class_name from persons as a left join classes as b on a.classid = b.id group by a.classid ; //代码实现: $res = $this->db ->join('as a left join '.sc('db', 'pre').'classes as b on a.classid = b.id') ->group('a.classid') ->fetchAll("count('a.*') as total, b.class_name"); echo $this->db->getSql().'--'; print_r($res);
query($sql, $execute) 执行自定义的sql
功能 :执行自定义的 sql
参数 :1、sql命令(如果有条件推荐使用展位符 ?), 2、占位符对应的数据(可省参数,sql命令包含占位符时传递)
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $res = $db->query('delete from grace_students where st_id = ?', array(2)); p($res,true); } }
queryFetch 和 queryFetchAll()
功能 :执功能:使用query()函数查询数据时后续的查询函数,queryFetch() 用于单条数据,queryFetchAll()用于多条数据。
参数 :无
返回 :对应的数据(数组形式)
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $db->query('select * from grace_students where st_id > ? order by st_id desc limit 0,10', array(2)); $res = $db->fetchAll(); p($res,true); } }
使用join() 完成多表联合
此处只是简单介绍,更多的可以参考join多表联合章节有详细介绍
参数:联合语句
示例表 classes 表结构
字段 | 类型 | 长度 |
id | int | 10 |
class_name | varchar | 20 |
<?php class indexController extends grace{ public $tableName = 'persons'; public function index(){ $arr = $this->db ->join('as a left join '.sc('db','pre').'classes as b on a.classid = b.id') ->fetchAll('a.*, b.class_name'); p($arr); } }
使用page()函数完成分页
参数: 每页数据条目数(可省参数,默认 10条)
返回:数组格式的查询数据
格式:array(数据, 分页信息)
db->page(1)->fetchAll(); p($arr);
getDb() 获取原生的 pdo操作对象
功能 :获取底层 PDO 操作对象,可以基于 PDO 完成更多操作。
参数 :无
返回 :PDO 对象
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $pdo = $db->getDb(); var_dump($pdo); } }
rowCount()获取操作影响的数据条目数
功能 :获取操作影响的数据条目数。
参数 :无
返回 :整数形式的数值
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $data = array( 'st_classid' => 3, 'st_name' => '小美', 'st_age' => 6, 'st_addtime' => time() ); $res = $db->add($data); echo $db->rowCount(); } }
count() 获取数据条目总数
功能 :获取数据条目总数。
参数 :无
返回 :整数形式的数据条目数
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $count = $db->count(); p($count); } }
min() 计算指定字段的最小值
功能 :计算指定字段的最小值
参数 :字段名称
返回 :最小值
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $min = $db->min('st_age'); echo $min; } }
max() 计算指定字段的最大值
功能 :计算指定字段的最大值
参数 :字段名称
返回 :最大值
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $max = $db->max('st_age'); echo $max; } }
avg() 计算指定字段的平均值
功能 :计算指定字段的平均值
参数 :字段名称
返回 :平均值
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $avg = $db->avg('st_age'); echo $avg; } }
sum() 计算指定字段的和
功能 :计算指定字段的和
参数 :字段名称
返回 :和
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $sum = $db->sum('st_age'); echo $sum; } }
获取写入数据的主键值 lastInsertId()
$res = $this->db->add(array('name' => 'grace', 'age' => 18, 'addtime' => 10585888, 'classid' => 1)); echo $this->db->lastInsertId();
mysqlV()获取数据库版本号
功能 :获取数据库版本号
参数 :无
返回 :数据库版本号
示例 :
$db = \db('students'); echo $db->mysqlV();
desc() 表结构分析
功能 :表结构分析
参数 :无
返回 :数组形式的表结构
示例 :
class indexController extends grace{ public function index(){ $db = \db('students'); $desc = $db->desc(); p($desc); } }
error() 获取执行错误
功能 :获取最近一次执行sql命令产生的错误
参数 :无
返回 :错误信息
echo $this->db->error();
使用 debugSql 在控制台内输出执行的 sql
public function index(){ $db = db('names'); $db->fetchAll(); // 在执行sql 后调用 debugSql 即可在控制台内输出刚刚执行的sql 命令 $db->debugSql(); $db->fetchAll("name"); // 在执行sql 后调用 debugSql 即可在控制台内输出刚刚执行的sql 命令 $db->debugSql(); }