我的系统版本为CentOS7.5,PHP Version 7.1.18
php操作mysql数据库,常用的三种驱动扩展:mysql、mysqli、pdo,其中mysql在php7之后去掉了。重点分析一下mysqli和PDO的区别。
PDO和Mysqli支持情况
项目 | PDO | Mysqli |
---|---|---|
数据库类型支持 | 多种 | 仅支持mysql |
API | OOP | OOP+面向过程 |
命名参数 | 支持 | 不支持 |
连接 | 容易 | 容易 |
对象映射 | 支持 | 支持 |
连接池 | 支持 | 不支持 |
连接方式
// PDO
$pdo = new PDO("mysql:host=localhost;dbname=database", 'username', 'password');
// mysqli面向过程
$mysqli = mysqli_connect('localhost','username','password','database');
// mysqli面向对象
$mysqli = new mysqli('localhost','username','password','database');
参数绑定
POD:
$params = array(':username' => 'test', ':email' => $mail, ':last_login' => time() - 3600);
$pdo