PDO(PHP数据对象)的安装及连接数据库
PDO是 PHP Date Object (PHP数据对象)的简称。它支持很多数据库,包括:Firebird、FreeTDS、Interbase、MySQL、SQL Server等等。有了PDO,就不必再使用mysql_* 函数、oci_* 函数或者mssql_*函数,也不必再为它们封装数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作。在选择不同的数据库时,只需要修改PDO的DSN(数据源名称)。
在PHP6 中将默认使用PDO连接数据库,所有非PDO扩展将会在PHP6中被移除。该扩展提供PHP内置类PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。
一、PDO的特点
1、 PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与MySQL 和MS SQL函数库相比,PDO让跨数据库的使用更具有亲和力。
2、 PDO将通过一种轻型、清晰、方便的函数,统一各种不同RDBMS库的共有特性,实现PHP脚本最大限度的抽象性和兼容性。
3、PDO吸取现有数据库扩展成功和失败的经验教训,利用PHP5的最新特性,可以轻松地与各种数据库进行交互。
4、PDO扩展是模块化的,能够在运行时为数据库后端加载驱动程序,而不必重新编译或重新安装整个PHP程序。
二、安装PDO
PDO是与PHP5.1一起发行的,默认包含在PHP5.1中。由于PDO需要PHP5核心面向对象特性的支持,因此其无法在PHP5之前的版本中使用。
默认情况下,PDO在PHP5.2中为开启状态,但是要启用对某个数据库驱动程序的支持,需要进行相应的配置操作。
在Linux环境下,要使用MySQL数据库,可以在configure 命令中添加如下选项:
--with-pdo-mysql=/path/to/mysql/installation
在Windows 环境下,PDO在php.ini文件中进行配置,如下图:
要启用PDO,首先必须加载“extension=php_pdo.dll”,如果想让其支持某个具体的数据库,那么,还需要加载对应的数据库选项。例如,要支持MySQL数据库,则需要加载“extension=php_pdo_mysql.dll”。
三、PDO连接数据库——PDO构造函数
在PDO中,要建立与数据库的连接需要实例化PDO的构造函数,语法如下:
__construct(string $dsn [,string $username [,string $password [,array $driver_option]]]);
- dsn:数据源名,包括主机名端口号和数据库名称。
- username:连接数据库的用户名。
- password:连接数据库的密码。
- driver_option:连接数据库的其他选项。
通过PDO连接MySQL数据库的代码如下:
<?php header("Content-Type:text/html;charset=utf-8");//设置页面的编码格式 $dbms = 'mysql'; //数据库类型 $db_name = 'db_study';//使用的数据库名称 $usname = 'root';//使用的数据库用户名 $pwd = '123456';//使用的数据库密码 $host = '127.0.0.1';//使用的主机名称 $dsn = "$dbms:host=$host;dbname=$db_name"; try{//捕获异常 $pdo = new PDO($dsn,$usname,$pwd);//实例化对象 echo "PDO连接MySQL数据库成功!"; }catch(Exception $e){ echo $e->getMessage()."</br>"; } ?>
四、PDO连接数据库——DSN详解
- DSN 是 Data Source Name(数据源名称)的缩写。DSN提供连接数据库需要的信息。PDO的DSN包括3部分:PDO驱动名称(如:mysql、sqlite或者pgsql)、冒号和驱动特定的语法。每种数据库都有其特定的驱动语法。
- 在使用不同的数据库时,必须明确数据库服务器是完全独立于PHP的实体。虽然数据库服务器和Web服务器是在同一台计算机上,但是实际的情况可能不是如此,数据库服务器和Web服务器不是在同一台计算机上,此时要通过PDO连接数据库,就需要修改DSN中的主机名称。
- 由于数据库服务器只在特定的端口上监听连接请求,每种数据库服务器具有一个默认的端口号(MySQL 是 3306),但是数据库管理员可以对端口号进行修改,所以PHP有可能找不到数据库的端口,此时就可以在DSN中包含端口号。
- 由于一个数据库服务器中可能拥有多个数据库,所以在通过DSN连接数据库时,通常都包括数据库名称,这样可以确保连接的是想要的数据库,而不是其他人的数据库。
- PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
- PHP数据库对象-PDO拓展 使用pdo连接数据库
- php使用PDO扩展连接PostgreSQL对象关系数据库
- ThinkPHP使用PDO方式连接数据库之PDO的介绍与安装,开发环境是PHP5
- postgresql数据库的安装及php的pgsql和pdo_pgsql的安装
- 转载:用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解
- php源码安装、简单配置、测试及连接数据库
- php pdo连接数据库 解决中文乱码问题
- php使用PDO从数据库表中读取数据
- php学习笔记之PDO连接数据库及一些操作
- php使用PDO从数据库表中读取数据的实现方法(必看)
- php使用PDO连接数据库
- PHP 5数据对象(PDO)抽象层与Oracle
- php使用pdo连接mssql server数据库实例
- php 连接数据库存储数据
- PHP面向对象:单态设计模式(连接数据库)
- PHP中PDO、mysql配置远程连接、ecshop安装
- [转]PHP 5 数据对象 (PDO) 抽象层与 Oracle
- PHP连接数据库的另外一种方法---PDO
- PHP 连接数据库 在select 标签中显示数据