p MySQLi 和 PDO 均提供这样的功能。比如 MySQLi 可以这样去查询:
时间: 2024-11-09 15:19:17 浏览: 8
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
MySQLi (MySQL Improved) 和 PDO (PHP Data Objects) 都是 PHP 中用于连接和操作 MySQL 数据库的扩展,它们都支持 SQL 查询功能。MySQLi 提供了更接近 MySQL 客户端 API 的风格,使得查询操作相对直观,例如你可以通过链式调用 `query()`、`bind_param()` 等函数来进行数据库交互:
```php
// 使用 MySQLi
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
$query = "SELECT * FROM users WHERE id = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("i", $id); // i 表示第一个参数是整型
$id = 1;
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo "Name: " . $row["name"] . "\n";
}
$stmt->close();
$mysqli->close();
```
而 PDO 则是一个更为通用的对象导向接口,它支持多种数据库,代码通常会看起来稍显复杂,但更易于维护和扩展:
```php
// 使用 PDO
$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "SELECT * FROM users WHERE id = :id";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "Name: " . $row['name'] . "\n";
}
$stmt = null;
$pdo = null;
```
阅读全文