定义
为了解决不同数据库交互的接口不同,方便数据库的迁移和使用,而抽象出来的一层数据库抽象层,使对数据的操作只在这一层中执行,进而封装底层的差异性
PDO
即,PHP数据对象抽象层
使用
连接
$dbh=new PDO(String DSN[,string username[,string password[,array driver_opts]]])
例子:$dbh=newPDO('mysql:host=localhost;dbname=test','user','pass');
错误处理
抛出对象:PDOException
获取和设置属性
$dbh->getAttribute(int attribute);
$dbh->setAttribute(int attribute,mixed value);
INSERT,UPDATE,DELETE
$dbh->exec($query);(返回影响的行数)
SELECT
$dbh->query($query);(返回结果集)
准备语句
准备: dbh−>prepare( query);
执行:$dbh->execute([array input_parameters])
绑定参数:$dbh->bindParam(parameter,value)
*ps:使用命名参数时,param是语句中指定的:title,使用问号时,指展占位符的索引偏移*
绑定结果:$stmt->bindColumn(mixed column,mixed $value)
*column参数可以为偏移值或列名*
返回获取的列数
$result->columnCount();
获取结果集中的下一行
$stmt->fetch([int fetch_style])(当到达结果集末尾时返回FALSE)
获取结果集中的所有行
$stmt->fetchAll([int fetch_style]);
单独获取一行
$result->fetchColumn([int column_number])