+ -
当前位置:首页 → 问答吧 → PDO数据库操作类,支持预处理和事务

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

时间:2008-06-15

来源:互联网

根据前几天本人发表一个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

谢谢!非常感谢!

作者: PHPChina   发布时间: 2008-06-14

顶顶

作者: PHPChina   发布时间: 2008-06-14

多多学习``

作者: smilesnow   发布时间: 2008-06-16

谢谢!支持!加油!

作者: licess   发布时间: 2008-06-17

aaaaaaaaaaa

作者: zhujbing   发布时间: 2008-06-17

gfgdfgf

作者: zxe   发布时间: 2008-06-18

kan kankan kankan kankan kan

作者: ilsanbao   发布时间: 2008-06-27

看看咯

作者: bltpchhxh   发布时间: 2008-06-27

shishi

作者: seacoastboy   发布时间: 2008-06-28

下载学习

作者: janpoem   发布时间: 2008-07-02

SEE SEE

作者: daemon   发布时间: 2008-07-02

下了看看咋样吧

作者: adleyliu   发布时间: 2008-07-04

正学习中

作者: quanhaier   发布时间: 2008-07-07

bucuo

作者: fly1983   发布时间: 2008-07-07

谢谢!支持!加油!

作者: fzm010   发布时间: 2008-07-08

作者: idgnarn   发布时间: 2008-07-08

不错

作者: lmqhgx   发布时间: 2008-07-08

顶顶  顶顶

作者: wbsifan   发布时间: 2008-07-09

研究用

作者: ccy034106   发布时间: 2008-07-10

正在学习pdo,谢谢老大

作者: yichao840   发布时间: 2008-07-15

作者: CrossMaya   发布时间: 2008-07-15

这个得看看`````

作者: qiaosou   发布时间: 2008-07-15

昵称: identity  时间: 2008-7-17 14:52
又要回复

作者: identity   发布时间: 2008-07-17

sdf

作者: TankMe   发布时间: 2008-07-18

学习研究阿

作者: mynamejwei   发布时间: 2008-07-26

学习一下。

作者: foxla   发布时间: 2008-07-27

kankan

作者: shzhe   发布时间: 2008-07-27

作者: aaabbbaaa   发布时间: 2008-07-27

我也想要来看看

作者: hf3862   发布时间: 2008-07-29

学习了!!

作者: cchaha   发布时间: 2008-07-30

zend打开乱码,要选哪种编码??

作者: admin2008   发布时间: 2008-08-01

嗯,路过看看
看看咯

作者: xieguolun   发布时间: 2008-08-01

UTF-8

作者: lookwzj   发布时间: 2008-08-04

看看!!

作者: lookwzj   发布时间: 2008-08-04

学习了

作者: jianzhong111   发布时间: 2008-08-07

支持LZ

作者: yangl2006   发布时间: 2008-08-07

作者: 泡菜   发布时间: 2008-08-10

2333333333333333

作者: wzj5   发布时间: 2008-08-10

学习下

作者: Gareth   发布时间: 2008-08-11

ddddddddddddddd

作者: 小星   发布时间: 2008-08-11

kan kan ....

作者: 7136   发布时间: 2008-08-11

本帖隐藏的内容需要回复才可以浏览

不顶不行

作者: dodongu   发布时间: 2008-08-14

看看先

作者: 潭影空心   发布时间: 2008-08-14

????????????????

作者: sweety00   发布时间: 2008-08-15

谢谢楼主啦 我非常喜欢

作者: 277059367   发布时间: 2008-08-15

下载感谢

作者: hxly   发布时间: 2008-08-15

:victory:

作者: xuzuning   发布时间: 2008-08-18

看看

作者: mmmmzdb   发布时间: 2008-08-18

学习pdo可难看

作者: kiloweb   发布时间: 2010-01-18

adfa

作者: asdf   发布时间: 2010-08-18

作者: 二   发布时间: 2010-09-25

学习中

作者: huy.zhu   发布时间: 2012-05-23