鉴于大家对PHP十分关注,我们编辑小组在此为大家搜集整理了“php数据库抽象层 PDO”一文,供大家参考学习
下面就来介绍一下数据库抽象层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(
网学推荐
免费论文
原创论文
文章排行榜
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn
All Rights Reserved
湘ICP备09003080号
while ($row = $stmt->fetch()) {
print_r($row);
}
}
?>