PHP使用PDO连接数据库
1.安装与配置
使用PDO扩展,首先要开启PDO扩展,在配置文件中配置extension=php_pdo.dll。
要连接相应数据库还要开启数据库驱动,以mysql为例extension=php_pdo.dll。
配置完毕后,重启服务器,就可以就可以使用了。可以使用phpinfo()查看是否正常开启。
可以看到,在PHP中这些PDO扩展是默认开启的。详细配置可以参考手册。
2.连接数据库
1 <?php 2 $dsn="mysql:host=127.0.0.1;dbname=example"; 3 $user="root"; 4 $password=''; 5 try 6 { 7 $pdo=new PDO($dsn,$user,$password); 8 echo "连接成功"; 9 } 10 catch(PDOException $e) 11 { 12 echo $e->getMessage(); 13 } 14 ?>
其中PDO构造函数的第一个参数为数据源名(DSN),数据源名的一般格式为:驱动名,后面跟一个冒号,再后面是可选的连接信息,本例以连接MySQL为例。如果想了解详细的DSN,点这里。
如果,连接失败会抛出一个继承子Exception的异常对象。
3.获取数据库连接信息
使用PDO,要通过像getAttribute()函数传递预定义常量的方法获取数据库信息。
echo $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION);//获取数据库版本信息
4.更改数据库错误处理模式
1 <?php 2 $dsn="mysql:host=127.0.0.1;dbname=example"; 3 $user="root"; 4 $password=''; 5 try 6 { 7 $pdo=new PDO($dsn,$user,$password); 8 echo "连接成功<br>"; 9 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 10 } 11 catch(PDOException $e) 12 { 13 echo $e->getMessage(); 14 } 15 ?>
PDO的默认处理模式是ERRMODE_SILENT,即查询语句执行失败时不做任何返回。
在这里设置为ERRMODE_EXCEPTION,查询语句执行失败是抛出异常。
如果希望直接将错误信息输出到页面,参数改为ERRMODE_WARNING。
5.关闭连接
$pdo=null;