📅  最后修改于: 2023-12-03 14:52:47.588000             🧑  作者: Mango
在 PHP 程序中,我们通常需要从数据库中获取数据。本文将介绍如何使用 PHP 从数据库中获取数据。
在 PHP 中连接数据库通常需要使用 mysqli
或 PDO
扩展。我们首先需要连接到数据库才能进行操作。
下面的示例代码演示如何使用 mysqli 扩展连接数据库:
// 数据库连接参数
$host = 'localhost';
$username = 'root';
$password = 'password';
$database = 'test';
// 创建 mysqli 连接
$mysqli = new mysqli($host, $username, $password, $database);
// 检测连接是否成功
if ($mysqli->connect_error) {
die('连接失败:' . $mysqli->connect_error);
}
下面的示例代码演示如何使用 PDO 扩展连接数据库:
// 数据库连接参数
$host = 'localhost';
$username = 'root';
$password = 'password';
$database = 'test';
// 创建 PDO 连接
$dsn = "mysql:host=$host;dbname=$database;charset=utf8mb4";
$options = [
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
];
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
die('连接失败:' . $e->getMessage());
}
连接数据库后,我们就可以执行查询语句获取数据了。
下面的示例代码演示如何使用 mysqli 扩展执行查询语句:
// 查询语句
$sql = 'SELECT * FROM `users` WHERE `id` = ?';
// 准备查询语句
$stmt = $mysqli->prepare($sql);
// 绑定参数
$id = 1;
$stmt->bind_param('i', $id);
// 执行查询语句
$stmt->execute();
// 获取结果集
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// 处理每行数据
echo $row['name'] . "\n";
}
// 关闭结果集和语句
$stmt->close();
下面的示例代码演示如何使用 PDO 扩展执行查询语句:
// 查询语句
$sql = 'SELECT * FROM `users` WHERE `id` = ?';
// 准备查询语句
$stmt = $pdo->prepare($sql);
// 绑定参数
$id = 1;
$stmt->bindParam(1, $id, PDO::PARAM_INT);
// 执行查询语句
$stmt->execute();
// 获取结果集
while ($row = $stmt->fetch()) {
// 处理每行数据
echo $row['name'] . "\n";
}
// 关闭语句
$stmt->closeCursor();
除了查询语句,我们还可以使用 SQL 语句执行其他操作,例如插入、更新和删除数据。
下面的示例代码演示如何使用 mysqli 扩展执行插入操作:
// 插入语句
$sql = 'INSERT INTO `users` (`name`, `email`, `password`) VALUES (?, ?, ?)';
// 准备插入语句
$stmt = $mysqli->prepare($sql);
// 绑定参数
$name = 'Alice';
$email = 'alice@example.com';
$password = 'password';
$stmt->bind_param('sss', $name, $email, $password);
// 执行插入语句
$stmt->execute();
// 获取插入的自增 ID
$id = $mysqli->insert_id;
// 关闭语句
$stmt->close();
下面的示例代码演示如何使用 PDO 扩展执行插入操作:
// 插入语句
$sql = 'INSERT INTO `users` (`name`, `email`, `password`) VALUES (?, ?, ?)';
// 准备插入语句
$stmt = $pdo->prepare($sql);
// 绑定参数
$name = 'Alice';
$email = 'alice@example.com';
$password = 'password';
$stmt->bindParam(1, $name, PDO::PARAM_STR);
$stmt->bindParam(2, $email, PDO::PARAM_STR);
$stmt->bindParam(3, $password, PDO::PARAM_STR);
// 执行插入语句
$stmt->execute();
// 获取插入的自增 ID
$id = $pdo->lastInsertId();
// 关闭语句
$stmt->closeCursor();
本文介绍了如何在 PHP 中从数据库中获取数据,包括连接数据库、执行查询语句和执行其他操作。我们可以根据实际情况选择使用 mysqli 扩展或 PDO 扩展来连接数据库并执行操作。