php数据库抽象层 PDO

2015-01-24信息快讯网

因为这段时间工作比较忙 所以很长时间没有更新技术博客了。 在这段时间学习到了很多以前没有接触过的东西。

下面就来介绍一下数据库抽象层PDO的使用:

PDO(PHP Data Objects)是一个轻量级的PHP扩展,提供了一个数据访问抽象层。还要就是PDO只能在PHP5.0以上版本使用。

下面来介绍一下PDO常用的预定义常量:

PDO::PARAM_BOOL (integer)    表示布尔数据类型

PDO::PARAM_NULL (integer)    表示数据类型为NULL的SQL

PDO::PARAM_INT (integer)      表示为integer数据类型的SQL

PDO::PARAM_STR (integer)      表示为char varchar 或者其他字符串的数据类型的SQL

PDO::PARAM_LOB (integer)      表示对象数据类型的SQL

PDO::FETCH_LAZY (integer)    指定的获取方式,应当返回结果集的每一行作为一个对象的变量名,对应于它的字段名

PDO::FETCH_ORI_NEXT (integer) 取结果集的下一行

PDO::FETCH_ORI_PRIOR (integer取结果集的前面的行

PDO::FETCH_ORI_FIRST (integer取结果集的第一行

PDO::FETCH_ORI_LAST (integer) 取结果集的最后一行

PDO::ATTR_PERSISTENT (integer)   创建一个持久连接,而不是新创建一个连接

PDO的基本用法:

使用PDO与数据库连接(这里只使用MySQL):

 
<?php 
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); 
?> 

下面的代码是对MySQL连接错误时的处理:
 
<?php 
try { 
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); 
foreach($dbh->query('SELECT * from FOO') as $row) { 
print_r($row); 
} 
$dbh = null; 
} catch (PDOException $e) { 
print "Error!: " . $e->getMessage() . "<br/>"; 
die(); 
} 
?> 

下面是两个重复使用插入语句的例子:
 
<?php 
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)"); 
$stmt->bindParam(':name', $name); 
$stmt->bindParam(':value', $value); 

// insert one row 
$name = 'one'; 
$value = 1; 
$stmt->execute(); 

// insert another row with different values 
$name = 'two'; 
$value = 2; 
$stmt->execute(); 
?> 

 
<?php 
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)"); 
$stmt->bindParam(1, $name); 
$stmt->bindParam(2, $value); 

// insert one row 
$name = 'one'; 
$value = 1; 
$stmt->execute(); 

// insert another row with different values 
$name = 'two'; 
$value = 2; 
$stmt->execute(); 
?> 

对数据库进行查询操作:
 
<?php 
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?"); 
if ($stmt->execute(array($_GET['name']))) { 
while ($row = $stmt->fetch()) { 
print_r($row); 
} 
} 
?> 

PHP中file_exists与is_file,is_dir的区别介绍
PHP中几种常见的超时处理全面总结
PHP UTF8中文字符截断函数代码
php中将汉字转换成拼音的函数代码
PHP json格式和js json格式 js跨域调用实现代码
php写的带缓存数据功能的mysqli类
通过缓存数据库结果提高PHP性能的原理介绍
通过php快速统计某个数据库中每张表的数据量
php 解决旧系统 查出所有数据分页的类
无JS,完全php面向过程数据分页实现代码
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
全新的PDO数据库操作类php版(仅适用Mysql)
ThinkPHP 连接Oracle数据库的详细教程[全]
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
PHP中PDO基础教程 入门级
PHP中PDO的错误处理
pdo中使用参数化查询sql
用PHP的超级变量$_GET获取HTML表单(Form) 数据
php cookies中删除的一般赋值方法
php中通过Ajax如何实现异步文件上传的代码实例
php 安全过滤函数代码
PHP 遍历文件实现代码
PHP中使用CURL伪造来路抓取页面或文件
php获取mysql数据库中的所有表名的代码
对text数据类型不支持代码页转换 从: 1252 到: 936
flash用php连接数据库的代码
PHP大批量数据操作时临时调整内存与执行时间的方法
PHP的cURL库功能简介 抓取网页、POST数据及其他
一个基于PDO的数据库操作类
PHP学习笔记之三 数据库基本操作
php数据库密码的找回的步骤
在PHP中PDO解决中文乱码问题的一些补充
PHP5中使用PDO连接数据库的方法
PHP PDO函数库详解
©2014-2024 dbsqp.com