1.什么是PDO?
PDO(PHP Data Objects) 是 PHP 的一个扩展,定义了一系列轻量级的、通用性的、跨数据库的访问接口。
在以前,如果你用的是MySQL数据库,要打开 php_mysql.dll 的一个扩展,然后用 PHP 提供的 MySQL 函数来访问数据库;如果你用的是 MSSQL,就打开 php_mssql.dll 的扩展,用 PHP 提供的 MSSQL 函数来访问数据库。现在,你只要打开 pdo 相应的数据库扩展(例如:在Windows 平台 PHP 5.3.5 的 php.ini 中 php_pdo_mysql.dll,php_pdo_mssql.dll),就能用 PDO 提供的各种方法来访问各种不同类型的数据库,如MySQL、Oracle、MSSQL。
PDO 是 PHP 5.1 新加入的,在 PHP 5.0 中 PDO 也能作为 PECL 的一个扩展来用,但是它不适用于 PHP 5.0 的早期版本。
它有点类似Java框架的Hibernate。
2.基本例子
|
employees表 |
<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sth = $dbh->query('SELECT * FROM employees');//query方法用于查询
$result = $sth->fetch();//获取第一行数据
print_r($result);
$result = $sth->fetchAll();//获取所有数据
print_r($result);
?>
<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
//插入数据,exec方法用于 INSERT,UPDATE,DELETE等操作
$count = $dbh->exec("INSERT INTO employees (`id`,`fname`,`lname`,`hired`,`separated`,`job_code`,`store_id`)
VALUES ('5','sherlock','wang','2012-01-01','2013-03-01','10','20')");
print("affected $count rows.\n");
?>
<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sth = $dbh->prepare('SELECT * FROM employees WHERE job_code=:job_code AND store_id=:store_id');//prepare方法用於 SELECT、INSERT、UPDATE 及 DELETE 等需要多次進行資料處理的 SQL 上
$sth->execute(array(':job_code' => 2, ':store_id' => '2'));
$result = $sth->fetchAll();//获取所有数据
print_r($result);
$sth->execute(array(':job_code' => 12, ':store_id' => '7'));
$result = $sth->fetchAll();//获取所有数据
print_r($result);
?>
<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = 'root';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sth = $dbh->prepare('SELECT * FROM employees WHERE job_code=? AND store_id=?');//用 ? 代替
$sth->execute(array(2,'2'));//按 ? 出现的次序设置值
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
$sth->execute(array(12,'7'));
$result = $sth->fetchAll(PDO::FETCH_NUM);
print_r($result);
?>
详情:PDO API
相关推荐
PHP5中使用PDO连接数据库的方法
PHP100视频教程55:PHP5中使用PDO连接数据库.rar
使用PHP PDO进行与数据库进行了连接
PDO是mysql数据库操作的一个公用类,我们不需要进行自定类就可以直接使用pdo来操作数据库,但是在php默认配置中pdo是未开启所以我们必须先在php.ini中开启它才可以使用,这里来详细介绍一下. PDO扩展为PHP访问数据库...
完美解决php连接oracle数据库问题。有php连接oralce所需要的动态库,还有php连接oracle的测试的例子。经过测试,肯定能用!
本文实例讲述了php pdo连接数据库操作。分享给大家供大家参考,具体如下: pdo连接数据库的有点是能实现不同数据库之间的转换,而且有事务功能的回滚,更有pdo::prepare();pdo:::execute()函数的预处理查询,所以我...
主要介绍了PHP中PDO连接数据库中各种DNS设置方法,结合实例形式总结分析了php常用的各种pdo连接数据库技巧,需要的朋友可以参考下
本文实例讲述了PHP使用pdo连接access数据库并循环显示数据操作。分享给大家供大家参考,具体如下: PDO连接与查询: try { $conn = new PDO("odbc:driver={microsoft access driver (*.mdb)}; dbq=".realpath(...
PHP100视频教程55:PHP5中使用PDO连接数据库 PHP100视频教程56:制作PHP安装程序的原理和步骤 PHP100视频教程57:PHP备份数据库原理和方法 PHP100视频教程58:快速设计一个企业网站之BIWEB PHP100视频教程59:...
tp5(ThinkPHP 5.1)连接达梦数据库源码
55:PHP5中使用PDO连接数据库 56:制作PHP安装程序的原理和步骤 57:PHP备份数据库原理和方法 58:快速设计一个企业网站之BIWEB 59:关于BIWEB常见问题和结构分析 60:PHP与数据库代码开发规范 61:PHP+Mysql新闻...
本文实例讲述了PHP实现的pdo连接数据库并插入数据功能。分享给大家供大家参考,具体如下: 创建配置文件 pdo_config.php <?php $db_Type = mysql;//数据库类型 $host = localhost;//主机名 $dbName = test;//...
基于tp5的swoole支持,对th5的connection进行改造,使用Swoole\Coroutine\MySQL重写了基于swoole的PDO接口,实现了mysql的数据库连接池,本地测试可用。使用时,替换thinkphp/library/think/db/Connection.php,并...
主要介绍了php使用pdo连接并查询sql数据库的方法,实例分析了常用的pdo连接方法与改进方法,并针对pdo技术进行了分析说明,需要的朋友可以参考下
POD扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。 PDO的特点: 性能。PDO 从一开始就吸取了现有数据库扩展成功和失败的经验教训。...
本文给大家分享的是一个简单的php使用pdo方式连接access数据库的方法,有需要的小伙伴可以参考下。
当使用 PDO 连接操作数据库的时候,有时会出现:保存在数据库中的汉字为乱码。以文件为 UTF-8 格式,其解决方法如下: (1)实例化的对象直接执行 query() 方法或者 exec() 方法: <?php class DB { ...