PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。
PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。
PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。
首先我们需要在php.ini配置文件中开启PHP对于数据库(如mysql)的PDO扩展,然后打印phpinfo看是否开启了PDO和pdo_mysql。
现在我们再来进行一些PDO基本操作。
1.PDO连接数据库
<?php
$dsn = 'mysql:host=localhost;port=3306;dbname=test';
$user = 'root';
$pass = '123456';
$pdo = new PDO($dsn,$user,$pass);
var_dump($pdo);
我们来看浏览器的输出:
我们获取到了一个PDO对象,可以看到这个对象没有任何属性。
我们再来进行对数据库的操作以及操作发生错误的处置。
$sql = "select * from student";
$res = $pdo->query($sql);
if($res == false){
echo '发生SQL执行错误';
echo '<br />';
echo '错误代码是 ' . $pdo->errorCode();
echo '<br />';
echo '错误原因是 ' . $pdo->errorInfo()[2];
exit;
}
var_dump($res);
我们看浏览器输出:
我们看到程序执行时没有错误的。
我们再来执行一下执行错误的sql,看看结果如何。
$sql = "select * from sstudent";
$res = $pdo->query($sql);
if($res == false){
echo '发生SQL执行错误';
echo '<br />';
echo '错误代码是 ' . $pdo->errorCode();
echo '<br />';
echo '错误原因是 ' . $pdo->errorInfo()[2];
exit;
}
var_dump($res);
我们来看浏览器输出:
这是我们将SQL执行错误代码和错误原因进行了输出。
以上就是PDO的基础操作。
完整代码:
<?php
$dsn = 'mysql:host=localhost;port=3306;dbname=test';
$user = 'root';
$pass = '123456';
$pdo = new PDO($dsn,$user,$pass);
//var_dump($pdo);
$sql = "select * from student";
$res = $pdo->query($sql);
if($res == false){
echo '发生SQL执行错误';
echo '<br />';
echo '错误代码是 ' . $pdo->errorCode();
echo '<br />';
echo '错误原因是 ' . $pdo->errorInfo()[2];
exit;
}
var_dump($res);
?>