pdo :相对其它的数据库抽象层,显得更高效!
三个类:
PDO类:数据库连接、执行SQL语句
PDOStatement:处理结果集
PDOException:处理异常
一、PDO的开启
a. E:lamp/php5/ext/中得有相应的PDO拓展
b. E:lamp/php5/ext/中得有相应的PDO数据库拓展(相应的数据库驱动)
c. php. ini文件 中开启相应的拓展
二、PDO的操作
1、连接数据库(不同的数据库有不同的连接方式)
a. mysql 的连接
b. mssql 的连接
2、操作数据库(不同的数据库有相同的操作方式)
a. 增
b. 删
c. 改
d. 查
三、数据库连接
第一步:设置PDO连接数据库时的相关属性(可选)
//ATTR_AUTOCOMMIT:是否自动提交
//ATTR_PERSISTENT:是否持久连接
$driver_opts=array(PDO::ATTR_AUTOCOMMIT=>0, PDO::ATTR_PERSISTENT=>true);
第二步:设置 dsn
$dsnMySQL=”mysql:host= localhost ;dbname=xueba”;//MySQL
$dsnMsSQL=”mssql:host=localhost;dbname=db_examination”;//MsSQL
$dsnOracle=”oci:dbname=//localhost:1521/xueba”;//Oracle
第三步:连接数据库
$user=”root”;
$password=”hanclever”;
$pdo=new PDO($dsnMySQL, $user, $password, $driver_opts);
//设置编码
$pdo->query(“SET NAMES gb2312”);//$pdo->query(“SET NAMES utf8”);
四、PDO连接MySQL实例
try{
$dsnMySQL=”mysql:host=localhost;dbname=xueba”;
$user=”root”;
$password=”hanclever”;
$pdo=new PDO($dsnMySQL, $user, $password, $driver_opts);
}catch(PDOException $e){
echo “数据库连接失败:”.$e-> getMessage ();
exit;
}
五、通过PDO设置/获取相关属性
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 0);//是否自动提交
$pdo->setAttribute(PDO::ATTR_PERSISTENT, true);//是否持久连接
echo $pdo->getAttribute(PDO::ATTR_SERVER_VERSION).”<br>”;