扣出thinkphp数据库操作类

假如你是一位thinkphp的使用者,想必你会觉得thinkphp操作数据库非常方便。现在在你面前有一个非常小的作业,小到完全没有必要用thinkphp去完成它。但是你又觉得不用thinkphp的话,操作数据库非常麻烦。这时,你陷入了左右为难的境况。那么,下面我要分享的这个数据库操作类,可能会帮助你摆脱这种困境。这个数据库操作类虽然不能说是完全从thinkphp里扣出来的,但多多少少能看到thinkphp当年的影子,使用起来非常类似,真是方便好用啊。
好了,马上来演示一下基本用法吧。

首先来演示一下查询方法:

$db->table('user')->limit(10)->order('id desc')->select();

相当于执行下面的sql语句,并返回二维数组。

SELECT * FROM `hoho_user` ORDER BY id desc LIMIT 10
$where['user_name'] = array('like','%ly%');

$where['credit'] = array('gt',100);

$db->table('user')->where($where)->limit(10)->select();

相当于执行下面的sql语句,并返回二维数组。

SELECT * FROM `hoho_user` WHERE ( `user_name` LIKE '%ly%' ) AND ( `credit` > 100 ) LIMIT 10
$where['credit'] = array(array('gt',100),array('eq',0),'or');

$db->table('user')->where($where)->limit(10)->select();

相当于执行下面的sql语句,并返回二维数组。

SELECT * FROM `hoho_user` WHERE ( (`credit` > 100) OR (`credit` = 0) ) LIMIT 10
$db->table('user')->where('id=2')->find();

相当于执行下面的sql语句,并返回一维数组。

SELECT * FROM `hoho_user` WHERE id=2 LIMIT 0,1

再来看看更新语句:

$where['user_name'] = 'lyly';

$data['credit'] = 100;

$db->table('user')->data($data)->where($where)->update();

相当于执行下面的sql语句,并返回影响行数。

UPDATE `hoho_user` SET `credit`=100 WHERE ( `user_name` = 'lyly' )
$where['credit'] = array('elt',100);

$data['credit'] = array('exp','credit+1');

$db->table('user')->data($data)->where($where)->update();

相当于执行下面的sql语句,并返回影响行数。

UPDATE `hoho_user` SET `credit`=credit+1 WHERE ( `credit` <= 100 )

再来看看新增语句:

$data['user_name'] = 'hoho';

$data['credit'] = 100;

$db->table('user')->data($data)->insert();

相当于执行下面的sql语句,并返回自增ID。

INSERT INTO `hoho_user` (`user_name`,`credit`) VALUES ('hoho',100)

最后看看删除语句:

$where['credit'] = 0;

$db->table('user')->where($where)->delete();

相当于执行下面的sql语句,并返回影响行数。

DELETE FROM `hoho_user` WHERE ( `credit` = 0 )


更多详细用法,有兴趣者可查阅thinkphp手册或自行下载代码研究。

 下载地址:http://pan.baidu.com/s/1eQ4lCdk

原文地址:https://www.cnblogs.com/yhdsir/p/4874837.html