PDO数据库抽离层
来源:互联网 发布:java 获取文件路径 编辑:程序博客网 时间:2024/06/14 11:57
什么是PDO
PDO概述
即PHP Date Object(PHP数据对象),支持多类数据库,用户不必再使用数据库函数(mysql_函数),只需要使用PDO接口中的方法就可以对不同的数据库进行操作
PDO启动
php.ini 中extension=php_pdo.dll;extension=php_pdo_mysql.dll
PDO连接数据库
<?php$dbtype = 'mysql';$host = 'localhost';$dbname = 'db_admin';$user = 'root';$pwd = '123456';$dsn = "$dbtype:host=$host;dbname=$dbname";
PDO::ATTR_PERSISTENT => true;//数据持久化,持久连接缓存可以避免每次脚本需要与数据库回话时建立一个新连接的开销,从而让 web 应用程序更快。
try{$pdo = new PDO($dsn,$user,$pwd);echo "PDO链接成功!";}catch(Exception $e){echo $e->getMessage();}
$dsn = null //关闭链接?>
PDO执行SQL语句
//查询$arr = $pdo->query("select * from student");foreach($arr as $val){echo $val[1]." ";echo $val[2]." ";echo $val[3]." <br>";}//添加、修改、删除$res = $pdo->exec("insert into student(name,pro,remark)values('gogo','cc','33')");//返回所受影响行数echo "操作成功!";
PDO事务
事务的四大特性:
原子性、一致性、隔离性、持久性
<?phptry { $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2', array(PDO::ATTR_PERSISTENT => true)); echo "Connected\n";} catch (Exception $e) { die("Unable to connect: " . $e->getMessage());}try { $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->beginTransaction();//开始事务 $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')"); $dbh->exec("insert into salarychange (id, amount, changedate) values (23, 50000, NOW())"); $dbh->commit();//提交事务 } catch (Exception $e) { $dbh->rollBack();//若发现错误立即回滚事务,保证数据安全 echo "Failed: " . $e->getMessage();}?>
PDO 预处理语句与存储过程
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");$stmt->bindParam(1, $name);$stmt->bindParam(2, $value);//或者$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");$stmt->bindParam(':name', $name);$stmt->bindParam(':value', $value);// 插入一行$name = 'one';$value = 1;$stmt->execute();// 用不同的值插入另一行$name = 'two';$value = 2;$stmt->execute();?>
阅读全文
0 0
- PDO数据库抽离层
- PHP PDO数据库类
- pdo 数据库操作
- pdo 连接操作数据库
- PHP PDO访问数据库
- PDO数据库抽象层
- PDO数据库抽象层
- 【PDO对象操作数据库】
- PHP操作数据库PDO
- PDO 数据库相关操作
- PDO数据库操作
- PHP PDO访问数据库
- pdo连接数据库
- pdo数据库操作类
- 5. PDO 数据库封装
- 数据库抽象层PDO
- PDO数据库抽象层
- php pdo 链接数据库
- 【Java】Servlet基础及应用
- HDU 1465 不容易系列之一
- 【POJ 2407】Relatives(欧拉函数-水题)
- 红木家具之缅甸花梨家具
- J2EE进阶之自定义标签,JSTL标签,国际化 十四
- PDO数据库抽离层
- Apache-Commons包作用说明以及Java开发常用jar
- Python3学习(2)-开山篇Hello World
- ImageLoader 常用代码块
- 数据结构之单链表操作二
- Idea的live template参数中的预定义功能
- App Store内购机制
- KM算法 入门——[kuangbin]KM匹配
- 如何正确衡量主从延迟时间