PDO的开启:
- 打开PHP配置文件:php.ini文件
- 找到extension=php_pdo.dll,如果没有,就自己加上,将前面的分号去掉
- extension=php_pdo_mysql.dll,要用PDO使用那个数据库,就把那个extension前面的分号去掉
如何查看是否开启:
- 打开phpinfo页面,ctrl + F查找PDO关键字,查看enabled列中是否有数据库存在
- 查看pdo_mysql的enabled是否有Mysql或者是其他你选择的数据库的版本号
PDO的连接方式
第一种:通过参数形式来连接数据库
try{
$dsn = 'mysql:host=localhost;dbname=pdotest';//数据源名,包括主机,端口号,数据库名称
$name = 'root';//数据库名称
$password = '';//数据库密码
$options = '';//链接数据库的其他选项
$pdo = new PDO($dsn,$name,$password);
print_r($pdo);
}catch (PDOException $err){
print_r($err->getMessage());
}
第二种:通过URI连接数据库·
try{
$dsn = 'uri:file://W:\wamp\wamp64\www\project\server\PDO-test\01\dsn.txt';
$name = 'root';
$password = '';
$pdo = new PDO($dsn,$name,$password);
print_r($pdo);
}catch (PDOException $err){
print_r($err->getMessage());
}
第三种:通过配置文件来连接数据库
try{
$name = 'root';
$password = '';
$pdo = new PDO('DSNINFO',$name,$password);
print_r($pdo);
}catch (PDOException $err){
echo $err->getMessage();
}
推荐使用第一种,比较好用
PDO对象的一些方法
方法名 | 说明 |
---|---|
exec() | 执行一条SQL语句并返回受影响的记录条数 |
query() | 执行一条SQL语句,返回一个PDOStatement对象,也就是结果集对象 |
prepare() | 准备要执行的SQL语句,也就是预处理语句,返回结果集对象 |
quote() | 返回一个添加引号的字符串,用于SQL语句中 |
lastInsertId() | 返回最后插入行的id |
setAttribute() | 设置数据库连接属性 |
getAttribute() | 得到数据库连接属性 |
errCode() | 获取数据库句柄上一次操作相关的SQLSTATE (sql状态) |
errInfo() | 获取数据库句柄上一次操作的错误相关信息 |
exec方法和query方法的使用场景
- exec方法可以发送SQL语句,建议:delete、insert、update操作都使用exec方法
- exec执行完毕后,会返回受影响的行数
- query方法可以发送SQL语句,建议:select操作都使用query方法
- query方法执行后,返回的是结果集
- 当然query也可以增删改