创建PDO对象,PDO对象的成员方法

zxh5566  2016-07-15 19:23   Hits: 

使用PDO在与不同数据库管理系统之间交互时,PDO对象中的成员方法是统一各种数据库的访问接口,所以使用PDO与数据库交互之前,首先要创建一个PDO对象,在通过构造方法创建对象的同时,需要建立一个与数据库服务器连接,并选择一个数据库。PDO构造方法原型如下
__construct(string dsn[,string username[,string password[,array driver_options]]]) PDO构造方法
 
在构造方法中,第一个必选的参数是数据源名(DSN),用来定义一个确定的数据库和必须用到的驱动程序,DSN的PDO命名惯例为PDO驱动程序名称,后面一个冒号,再后面是可选的驱动程序的数据库连接变量信息,如主机名,端口和数据库名,例如,连接Mysql服务器的DSN格式分别如下:
mysql:host=localhost;dbname=testdb
构造方法中的第二个参数username和第三个参数password分别指定用于连接数据库的用户名和密码是可选参数,最后一个参数driver_options需要一个数组,用来指定连接所需要的所有额外选项,传递附加的调优参数到PDO或底层驱动程序。
 
1、以多种方式调用构造方法
 
·将参数嵌入到构造函数
 
连接MYSQL服务器的示例如下:
 
<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try{
$dbh = new PDO($dsn,$user,$password);
}catch(PDOException $e){
echo '数据库连接失败:'.$e->getMessage();
}
?>
 
其他的驱动程序会同样以不同的方式解释它的DSN,如果无法加载驱动程序,或者发生了连接失效,则会抛出一个PDOException,以便您可以决定如何最好的处理该故障,省略try.catch控制结构并无裨益,如果在应用程序的较高级别没有定义异常处理,则在无法建立数据库连接的情况下,该脚本会终止。
 
·将参数存放在文件中
 
在创建PDO对象时候,可以把DSN字符串放在另一个本地或远程文件中,并在构造函数中引用这个文件。
<?php
try{
$dbh = new PDO('url:file://usr/local/dbconnect','webuser','password');
}catch(PDOException $e){
echo '数据库连接失败:'.$e->getMessage();
}
只要将文件/usr/local/dbconnect中的DSN驱动改变,就可以在多种数据库系统之间切换,但要确保该文件由负责执行PHP脚本的用户所拥有,而且此用户拥有必要的权限。
 
·引用php.ini文件
也可以在PHP服务器的配置文件中维护DSN信息,只要在PHP.ini文件中把DSN信息赋给一个名为pdo.dsn.aliasname的配置参数,这里pdo.dsn.aliasname是后面将提供给构造函数的DNS别名。
 
·PDO与连接有关的选项
在创建PDO对象时,有一些与数据库连接有关的选项,可以将必要的几个选项组成数组传递给构造方法的第四个参数driver_opts中,用来传递附加的调优参数到PDO或底层驱动程序,设置选项名为下标组成的关联数组,作为驱动程序特定的连接选项,传递给PDO构造方法的第四个参数,在下面的例子中使用连接选项创建持久连接,持久连接的好处是能够避免在每个页面执行时都打开和关闭数据库服务器连接,速度更快,如MYSQL数据库的一个进程创建了两个连接,PHP会把原有连接与新的连接合并共享为一个连接,代码如下:
 
<?php
$opt = array(PDO::ATTR_PRESISTENT=>true);
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try{
$dbh = new PDO($dsn,$user,$password,$opt);
}catch(PDOException $e){
echo '数据库连接失败:'.$e->getMessage();
}
 
 
2、PDO对象中的成员方法
当PDO对象创建成功以后,与数据库的连接已经建立,就可以使用该对象了,PHP与数据库服务之间的交互都是通过PDO对象中的成员方法实现的,该对象中的成员方法如下:
 
getAttribute() 获取一个数据库连接对象的属性
setAttribute() 为一个数据库连接对象设定属性
errorCode() 获取错误码
errorInfo() 获取错误信息
exec() 处理一条SQL语句,并返回所影响的条数
query() 处理一条SQL语句,并返回一个PDOStatement对象
quote() 为某个sql中的字符串添加引号
lastInsertId() 获取插入到表中的最后一条数据的主键
prepare() 负责准备执行的sql语句
getAvailableDriver() 获取有效的PDO驱动器名称
beginTransaction() 开始一个事务
commit() 提交事务
rollback() 回滚事务
 
在上表中从PDO对象中提供的成员方法可以看到,使用PDO对象可以完成与数据库服务器之间的连接管理,存取属性,错误处理,查询执行,预处理语句,以及事务等操作。
上一篇:PDO介绍和安装
下一篇:PDO如何执行SQL语句