PDO(PHP Data Object) 是PHP5中加入的东西,是PHP5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来
跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。
PHP6中也将默认使用PDO的方式连接,mysql扩展将被作为辅助
php对mysql操作最后的类.PDO类,定义很多常量.如没有错误提示 const ERR_NONE = 00000;
PDO的文件中.可以写多个类,异常类.PDO类.方便.
实例化db类的时候(传递连接配置数据)---->就是连接数据库的时候---------.db类的构造方法里面.传递---->父类构造方法---->去连接数据库
try{
父类PDO,调用构造方法,连接数据库
}catch(){ 输出异常 }
db类继承PDO类,把__construct()复制过来重写,默认,用户名,密码为null
public function __construct($dsn, $username = NULL, $password = NULL, $driver_options = array())
{
try
{
$dbh = parent::__construct($dsn, $username, $password, $driver_options);
}
catch (PDOException $e)
{
echo 'DB connection failed : '.$e->getMessage();exit;
}
}
db类继承PDO类
PDO配置
PHP.ini中 放开注释,重启服务器
extension=php_pdo.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pdo_mssql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_firebird.dll
3.PDO连接mysql数据库
new PDO("mysql:host=localhost;dbname=db_demo","root","");
默认不是长连接,若要使用数据库长连接,需要在最后加如下参数:
new PDO("mysql:host=localhost;dbname=db_demo","root","","array(PDO::ATTR_PERSISTENT => true) ");