php数据库抽象层 PDO

 2025-01-16  阅读 428  评论 8  点赞 356

摘要:下面就来介绍一下数据库抽象层pdo的使用: pdo(php data objects)是一个轻量级的php扩展,提供了一个数据访问抽象层。还要就是pdo只能在php5.0以上版本使用。 下面来介绍一下pdo常用的预定义常量: pdo::param_bool (integer)    表示布尔数据类型 pdo::param_null (int
下面就来介绍一下数据库抽象层pdo的使用:

pdo(php data objects)是一个轻量级的php扩展,提供了一个数据访问抽象层。还要就是pdo只能在php5.0以上版本使用。

php数据库抽象层 PDO

下面来介绍一下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);
}
}
?>



标签:phpphp教程

评论列表:

显示更多评论

发表评论:

管理员

承接各种程序开发,外贸网站代运营,外贸网站建设等项目
  • 内容2460
  • 积分67666
  • 金币86666

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0286秒, 内存占用1.94 MB, 访问数据库30次

冀ICP备19034377号