Db::query('select * from tp5_user where id = ? || name = ?',[$id,'Tom']);
Db::execute('insert into tp5_user(name,age) values(?,?)',[$name,$age]);
Db::execute("update tp5_user set age = ? where id = ?" , [$age,$id]);
Db::execute("delete from tp5_user where id = ?",[$id]);
query 方法用于查询,默认情况下返回的是数据集(二维数组), execute 方法的返回值是影响的行数。
Db::table('tp5_user')->where($key ,$val)->select();
Db::table('tp5_user')->insert($data);
Db::table('tp5_user')->insertAll($data);
Db::table('tp5_user')->where('id',1)->update($data);
Db::table('tp5_user')->delete(18);
Db::table('tp5_user')->delete([19,20,24]);
Db::table('tp5_user')->where('id',25)->delete();
Db::table('tp5_user')->where('id','>=',10)->where('id','<=',12)->delete();
数据表的前缀为 think_ ,table方法改为name
Db:name('data')->
db('tp5_user')->where('id' , 1)->select();
db('tp5_user')->insert($data);
db('tp5_user')->insertAll($data);
db('tp5_user')->where('id',1)->update($data);
db('tp5_user')->delete(9);
db('tp5_user')->where('id',8)->delete();
db 助手函数默认会每次重新连接数据库,因此应当尽量避免多次调用。
Db::table('tp5_user')
->where('id','>=',1)
->field('name')
->limit(3)
->select();
Db::table('tp5_user')
->where('id',1)
->field('name','age')
->find();
select 方法用于查询数据集,如果查询成功,返回的是一个二维数组,如果没有满足条件的话则返回空数组
find 方法用于查找满足条件第一个记录(即使你的查询条件有多个符合的数据)成功返回一维数组,失败返回null
事务支持
自动事务
Db::transaction(function () {
Db::table('think_user')
->delete(1);
Db::table('think_data')
->insert(['id' => 28, 'name' => 'thinkphp', 'status' => 1]);
});
手动事务
Db::startTrans();
try {
Db::table('think_user')
->delete(1);
Db::table('think_data')
->insert(['id' => 28, 'name' => 'thinkphp', 'status' => 1]);
// 提交事务
Db::commit();
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
}