首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

PDO数据库操作类,支持预处理和事务

根据前几天本人发表一个PDO的数据库操作类进行改造升级,将原来的几个文件合成一个文件方便调用
另外数据库方式也由原来的连接捆绑变成单独分离,分离出来后可以不影响其他数据库操作类的使用的情况下照样使用,
使用其他的数据库连接只需要将一个数据库连接对象换成自己的即可,但必须是PDO的.

修改方法如下:
$this->_WordObj = new $this->_WorkData[$this->_WorkType](DataBase::ConnectData());
改成
$this->_WordObj = new $this->_WorkData[$this->_WorkType](你的数据库连接对象));

就说这么多了,下面是具体的调用格式和使用方法.有写的不好的还请指点一二,有疑问请找我,非常乐意和大家作朋友
QQ:8769852

调用方法:
复制PHP内容到剪贴板
PHP代码:
//加载数据库类文件
include_once 'DataBaseAPI.class.php';

//初始化
$db DataBaseAPI::Init();

//传递SQL语句
$db->setSql("select * from user where user_id=?")

//传递SQL语句中?的值
$db->setValue(array(12))

//执行SQL命令后返回结果
$getvalue $db->Perform();

传值的格式说明:
复制PHP内容到剪贴板
PHP代码:
//标准SQL处理:查询用户ID等于12的数据
$db->setSql("select * from user where user_id=?")
$db->setValue(array(12))

//简化SQL处理:查询用户ID等于12的数据
$db->setSql(array("table"=>"user")) //数据表名称
$db->setValue(array("select"=>array("user_id"=>12))) //条件

//简化SQL处理:修改用户ID等于12的用户名称为admin
$db->setSql(array("table"=>"user"))
$db->setValue(array("set"=>array("user_name"=>"admin"),"where"=>array("user_id"=>12)))

//简化SQL处理:删除用户ID等于12的所有数据
$db->setSql(array("table"=>"user"))
$db->setValue(array("del"=>array("user_id"=>12)))

//简化SQL处理:添加用户等于admin,性别等于男的一条新用户数据
$db->setSql(array("table"=>"user"))
$db->setValue(array("add"=>array("user_name"=>"admin","user_sex"=>"男")))


//预处理方式传值
//同时插入三条记录
$db->setSql("insert into user (user_name) value (?)");
$db->setValue(array("张三"));
$db->setValue(array("李四"));
$db->setValue(array("王五"));

//事务处理方式传值

$sql["Batch"][]="insert into user (user_name) value ("张三")";
$sql["Batch"][]="insert into news (news_name,news_date) value ("这是一个实例",date("Y-m-d H:i:s))";
至于什么时候要使用事务,我相信需要时就是时候


其他可选参数设置:
复制PHP内容到剪贴板
PHP代码:
/**
* 返回的数据方式,共有四种形式:
* 0 -- 关联数组形式
* 1  -- 数字索引数组形式
* 2  -- 两者数组形式都有
* 3   -- 按照对象的形式
* (默认:数字索引和数组形式都有)
*/
$db->setDataMode(0);

/**
* 返回的数据类型,共有三种:
* 0 -- 最新插入到数据库的ID
* 1   -- 结果集中的列的数量
* 2  -- 语句执行后影响的行数
* 3  -- 包含了所有行的数组
* 4  -- 结果集中取出一行
* 5  -- 结果集中某一列中的数据 格式:array(5,1) 表示返回第1列的数据
* 6  -- 返回结果集中某一列的结构 格式:array(6,3) 表示返回第3列的结构
* (默认:包含了所有行的数组)
*/
$db->setDataType(3);

/**
* 数据执行的工作类型,共有三种:
* 0:单条预处理执行方式
* 1:多条预处理执行方式
* 2:多条事务处理方式     *
* 默认为:单条预处理执行方式
*/
$db->setWorkType(0);

文件下载地址如下:
本帖隐藏的内容需要回复才可以浏览
附件: 本帖附件需要回复才可下载或查看
昵称: yangl2006  时间: 2008-06-14 18:15:00
谢谢!非常感谢!
昵称: PHPChina  时间: 2008-06-14 18:59:00
顶顶
昵称: PHPChina  时间: 2008-06-14 20:16:00
多多学习``
昵称: smilesnow  时间: 2008-06-16 22:41:00
谢谢!支持!加油!
昵称: licess  时间: 2008-06-17 11:12:00
aaaaaaaaaaa
昵称: zhujbing  时间: 2008-06-17 22:40:00
gfgdfgf
昵称: zxe  时间: 2008-06-18 12:56:00
kan kankan kankan kankan kan
昵称: ilsanbao  时间: 2008-06-27 17:35:00
看看咯
昵称: bltpchhxh  时间: 2008-06-27 19:00:00
shishi
昵称: seacoastboy  时间: 2008-06-28 22:42:00
下载学习
昵称: janpoem  时间: 2008-07-02 12:53:00
SEE SEE
昵称: daemon  时间: 2008-07-02 13:35:00
下了看看咋样吧
昵称: adleyliu  时间: 2008-07-04 01:03:00
正学习中
昵称: quanhaier  时间: 2008-07-07 15:36:00
bucuo
昵称: fly1983  时间: 2008-07-07 15:51:00
谢谢!支持!加油!
昵称: fzm010  时间: 2008-07-08 10:12:00
昵称: idgnarn  时间: 2008-07-08 11:23:00
不错
昵称: lmqhgx  时间: 2008-07-08 23:32:00
顶顶  顶顶
昵称: wbsifan  时间: 2008-07-09 08:49:00
研究用
昵称: ccy034106  时间: 2008-07-10 20:46:00
正在学习pdo,谢谢老大
昵称: yichao840  时间: 2008-07-15 13:11:00
昵称: CrossMaya  时间: 2008-07-15 13:52:00
这个得看看`````
昵称: qiaosou  时间: 2008-07-15 14:31:00
昵称: identity  时间: 2008-7-17 14:52

又要回复
昵称: identity  时间: 2008-07-17 14:52:00
sdf
昵称: TankMe  时间: 2008-07-18 10:12:00
学习研究阿
昵称: mynamejwei  时间: 2008-07-26 09:11:00
学习一下。
昵称: foxla  时间: 2008-07-27 00:14:00
kankan
昵称: shzhe  时间: 2008-07-27 03:07:00
昵称: aaabbbaaa  时间: 2008-07-27 19:59:00
我也想要来看看
昵称: hf3862  时间: 2008-07-29 15:49:00
学习了!!
昵称: cchaha  时间: 2008-07-30 22:54:00
zend打开乱码,要选哪种编码??
昵称: admin2008  时间: 2008-08-01 06:29:00
嗯,路过看看
看看咯
昵称: xieguolun  时间: 2008-08-01 06:40:00
UTF-8
昵称: lookwzj  时间: 2008-08-04 10:41:00
看看!!
昵称: lookwzj  时间: 2008-08-04 22:44:00
学习了
昵称: jianzhong111  时间: 2008-08-07 21:16:00
支持LZ
昵称: yangl2006  时间: 2008-08-07 22:10:00
昵称: 泡菜  时间: 2008-08-10 12:04:00
2333333333333333
昵称: wzj5  时间: 2008-08-10 12:25:00
学习下
昵称: Gareth  时间: 2008-08-11 09:01:00
ddddddddddddddd
昵称: 小星  时间: 2008-08-11 13:35:00
kan kan ....
昵称: 7136  时间: 2008-08-11 17:20:00
本帖隐藏的内容需要回复才可以浏览

不顶不行
昵称: dodongu  时间: 2008-08-14 08:33:00
看看先
昵称: 潭影空心  时间: 2008-08-14 08:48:00
????????????????
昵称: sweety00  时间: 2008-08-15 01:49:00
谢谢楼主啦 我非常喜欢
昵称: 277059367  时间: 2008-08-15 10:22:00
下载感谢
昵称: hxly  时间: 2008-08-15 22:05:00
:victory:
昵称: xuzuning  时间: 2008-08-18 11:24:00
看看
昵称: mmmmzdb  时间: 2008-08-18 14:18:00
学习pdo可难看
昵称: kiloweb  时间: 2010-01-18 14:59:47
adfa
昵称: asdf  时间: 2010-08-18 15:20:23
昵称: 二  时间: 2010-09-25 10:18:49
学习中
昵称: huy.zhu  时间: 2012-05-23 12:47:34