1. PDO 支持多种数据库,而 mysqli 只支持 mysql 数据库。
2. PDO 支持面向对象和面向过程两种开发模式,而 mysqli 只支持面向对象模式。
3. PDO 支持预处理语句,而 mysqli 只支持部分预处理语句。
4. PDO 可以通过抽象层实现数据库的转换,而 mysqli 不可以。
PDO的优点:
PDO的缺点:
mysqli的优点:
mysqli的缺点:
// PDO 示例
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute(array('id' => 1));
$user = $stmt->fetch();
// mysqli 示例
$mysqli = new mysqli('localhost', 'root', 'password', 'test');
$stmt = $mysqli->prepare('SELECT * FROM users WHERE id = ?');
$stmt->bind_param('i', $id);
$id = 1;
$stmt->execute();
$result = $stmt->get_result();
$user = $result->fetch_assoc();