假如你是一位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

扣出thinkphp数据库操作类的更多相关文章

  1. MySQL数据库操作类(PHP实现,支持连贯操作)

    <?php /** * Author: suvan * CreateTime: 2018/2/27 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数) ...

  2. 自己封装的ASP.NET的MYSQL的数据库操作类

    /** * 作者:牛腩 * 创建时间:2010年3月7日17时35分 * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MyS ...

  3. Microsoft Access数据库操作类(C#)

    博文介绍的Microsoft Access数据库操作类是C#语言的,可实现对Microsoft Access数据库的增删改查询等操作.并且该操作类可实现对图片的存储,博文的最后附上如何将Image图片 ...

  4. 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~

    最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...

  5. Android打造属于自己的数据库操作类。

    1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要 ...

  6. PHP 数据库操作类:ezSQL

    EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.htmlezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.o ...

  7. 通用数据库操作类,前端easyui-datagrid,form

    实现功能:     左端datagrid显示简略信息,右侧显示选中行详细信息,数据库增删改 (1)点击选中行,右侧显示详细信息,其中[新增].[修改].[删除]按钮可用,[保存]按钮禁用 (2)点击[ ...

  8. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  9. php MySQL数据库操作类源代码

    php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...

随机推荐

  1. Archlinux风扇设置

    在笔记本(ThinkPad T440)连续两天因过热而死机后, 对内核的风扇控制算法果断失去信心. 风扇的用户层控制接口是 /proc/acpi/ibm/fan, 但为防止用户控制不当烧坏机器, 默认 ...

  2. HttpClient简介

    栏目:Web开发 作者:admin 日期:2015-05-02 评论:0 点击: 204 次   虽然在JDK的java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说 ...

  3. Java-帮助文档的制作

    Java-帮助文档的制作 1,public修饰的类才干够用bin/javadoc生成文档 2.java的说明书是通过文档的凝视来完毕的,所以在敲代码的时候.凝视是非常有必要的 使用文档凝视法,才干够生 ...

  4. 怎样封装RESTful Web Service

    所谓Web Service是一个平台独立的,低耦合的.自包括的.可编程的Web应用程序.有了Web Service异构系统之间就能够通过XML或JSON来交换数据,这样就能够用于开发分布式的互操作的应 ...

  5. WebStorm初次使用

    1. ctrl + / : 单行注释2. ctrl + shift + / : 块注释 3:展开当前函数代码:Ctrl+“+”,收起当前代码:Ctrl+“-” 4:全局查找: Ctrl+Shift+F ...

  6. Fiddler 过滤器的使用

    只显示制定HOST的SESSION

  7. Quartus和ISE调用Synplify进行综合的问题

    分别尝试采用Quartus和ISE调用第三方综合软件Synplify进行综合. [软件版本] Quartus II 13.0 (SP).ISE 14.4 .Synplify 201303. [问题描述 ...

  8. setpgid()

    #include<unistd.h> int setpgid(pid_t pid,pid_t pgid); 函数作用:将pid进程的进程组ID设置成pgid,创建一个新进程组或加入一个已存 ...

  9. iOS CAGradientLayer白色渐变至上向下

    项目需求当显示富文本内容高度太高的的时候不全部显示出来,而是显示查看更多按钮,当点击查看更多时把全部内容展开.同时未展开部分要加一个渐变模糊的效果. 上效果图: 这里要用到CAGradientLaye ...

  10. linux vmware提示:此虚拟机似乎正在使用中,取得该虚拟机的所有权失败错误

    用vm的时候,没有挂起和关闭虚拟机,直接关实体机.然后不幸的就异常了. 然后今天用的时候提示 此虚拟机似乎正在使用中. 如果此虚拟机已在使用中,请按“取消”按钮,以免损坏它.如果此虚拟机未使用,请按“ ...