Home | 简体中文 | 繁体中文 | 杂文 | 打赏(Donations) | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Search | Email

3.14. PHP Data Objects (PDO)

3.14.1. $driver_options

持久链接

PDO::ATTR_PERSISTENT => true,
		

压缩传输,适合远程连接数据库,压缩查询结果后返回给客户端

PDO::MYSQL_ATTR_COMPRESS => true
		

初始化命令,就是链接数据库首先会运行的命令

PDO::MYSQL_ATTR_INIT_COMMAND => "set names ".$cfg['charset'],
		

3.14.2. setAttribute

$db = new MyPDO();
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
		

3.14.3. getAttribute

 $status = $pdo->getAttribute(PDO::ATTR_SERVER_INFO);

 if($status == 'MySQL server has gone away')
 {
     /* 进行PDO连接 */
 }		
		

3.14.4. PDO

3.14.4.1. lastInsertId

			
$dbh->lastInsertId(); 
			
			

3.14.5. The PDOStatement class

3.14.5.1. fetch 返回数组

$stmt->fetch(PDO::FETCH_ASSOC);
			

3.14.5.2. 返回对象

$stmt->fetch(PDO::FETCH_OBJ);
			

3.14.6. FAQ

3.14.6.1. 调试 PDO 程序

使用pdo你会经常发现无法执行,却找不到问题,可以通过下面设置开启调试模式

			
$dbo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );		
			
			

PDOStatement 调试

			
echo $sth->queryString;
echo $sth->debugDumpParams();
			
			

3.14.7.