您的位置:首页 > 数据库

PDO数据库访问抽象层

2016-03-24 21:22 302 查看
pdo构造函数说明
dsn数据源名称,包括主机名端口号和数据库名称
username数据库用户名
password 密码
driver_options连接数据库的其他选项

pdo是比mysql更高效,数据库迁移时基本不用更改太多的代码

SQL语句

PDO::exec()返回sql语句后受影响的行数

query通常用于返回执行查询后的结果集
prepare()和execute()先通过prepare()方法做查询的准备工作,然后通过execute()方法执行查询

PDO中获取结果集

PDO::FETCH_ASSOC 关联数组形式
PDO::FETCH_NUM数字索引数组形式

PDO::FETCH_BOTH两者数组形式都有,这是默认的

PDO::FETCH_OBJ按照对象的形式,类似于以前的mysql_fetch_object()

PDO::FETCH_BOUND以布尔值的形式返回结果,同时将获取的列值赋给bindparam()方法中指定的变量

PDO::FETCH_LAZY以关联数组、数字索引数组和对象3种形式返回

PDO中事务处理
开启事务beginTrasaction()方法
beginTrasaction()方法将关闭自动提交(autocommit)模式,直到事务提交或者回滚以后才恢复
提交事务commit()方法
commit()方法完成事务的提交操作,成功则返回款true,否则返回false
事务回滚rollBack()方法
rollBack()方法执行事务的回滚操作

PDO中存储过程
1.drop procedure if exists pro_reg;
注释:drop是删除mysql服务器中已经存在的存储过程pro_reg
2.delimiter//
注释:delimiter//作用是将语句结束符更改为//
3.create procedure pro_reg(in nc varchar(80),in pwd varchar(80),in email varchar(80),in address varchar(50))
注释:in nc varchar(80)......in address varchar(50)表示要向存储过程中传入的参数
4.begin
insert into tb_reg(name,pwd,email,address)values(nc,pwd,email,address);
end;
注释:begin...end表示存储过程中的语句块,它的作用类似于php语言中的{....}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: