php数据库抽象层 PDO的解决办法

内容摘要
这篇文章主要为大家详细介绍了php数据库抽象层 PDO的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!下面就来介绍一下数据库抽象
文章正文

这篇文章主要为大家详细介绍了php数据库抽象层 PDO的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

下面就来介绍一下数据库抽象层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数据库抽象层 PDO的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!