PDO拥有更好的编程接口,你可以使用它写出更加简洁,高效,安全的代码。PDO还为不同的SQL数据库提供了不同的驱动,方便你使用新的数据库而不用再学习不同的编程接口。与拼接SQL语句构造查询语句不同,绑定参数可以简洁方便的构造出更加安全的查询语句,使用绑定参数的方法在 多次相似语句查询(仅仅某个参数不同)中也可以提高不少性能。PDO在错误处理方面也提供了多种方法。mysql_*函数缺乏一致的处理,与PDO的异常模式相比,或者说没有处理异常,使用PDO,你可以得到一致的错误处理,这将节省您大量的时间来跟踪问题。
首先可以把PDO对象的文件写入到一个文件中,然后再其他文件操作数据库直接可以引用。在本例中把新建PDO对象写入到fun.php 代码部分如下
function mysqlInit($dbms,$host,$dbname,$username,$password){
$dsn="{$dbms}:host={$host};dbname={$dbname}";
$pdo = new PDO($dsn,$username,$password);
$pdo->query("set names utf8");
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
return $pdo;
}
然后再其他文件引入fun.php 并且输入相应的参数
include_once"fun.php";
$pdo = mysqlInit("mysql","localhost","xuchangxueyuan","root","");
设置抛出异常有以下方法
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); // 设置抛出异常
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT);//设置静默(不报错) 不会终止代码执行
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);//设置警告 显示报错 但不会影响代码执行
设置取出数据 方法
//$row = $result->fetchAll(PDO::FETCH_ASSOC); //以关联形式的数组返回
//$row = $result->fetchAll(PDO::FETCH_NUM); //以索引数组返回
//$row = $result->fetchAll(PDO::FETCH_BOTH); //以索引和关联数组返回*两种形式并存(