技术文摘
PHP 如何获取 MySQL 数据库记录数据
2025-01-14 23:30:54 小编
PHP 如何获取 MySQL 数据库记录数据
在 Web 开发中,PHP 与 MySQL 数据库的搭配十分常见。获取 MySQL 数据库中的记录数据是一项基础且关键的操作,下面就详细介绍相关方法。
要使用 PHP 获取 MySQL 数据,需要建立数据库连接。利用 mysqli 或 PDO 扩展都能实现。以 mysqli 为例,代码如下:
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: ". $conn->connect_error);
}
?>
连接成功后,便可以编写 SQL 查询语句来获取数据。例如,从名为 users 的表中获取所有记录:
SELECT * FROM users;
在 PHP 中执行该查询,可使用 query() 方法:
$result = $conn->query("SELECT * FROM users");
若查询成功,$result 将是一个包含结果集的对象。接下来,要从结果集中获取数据,有多种方式。使用 fetch_assoc() 方法可以按关联数组形式获取记录,示例代码如下:
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "ID: ". $row["id"]. " - 姓名: ". $row["name"]. "<br>";
}
} else {
echo "没有找到记录";
}
fetch_assoc() 会将每行数据作为关联数组返回,数组的键是表中的列名。
还可以使用 fetch_row() 按索引数组获取记录,不过此时需要通过数字索引来访问数据。示例如下:
if ($result->num_rows > 0) {
while ($row = $result->fetch_row()) {
echo "ID: ". $row[0]. " - 姓名: ". $row[1]. "<br>";
}
} else {
echo "没有找到记录";
}
另外,PDO 扩展也是不错的选择,它提供了更统一的 API 来操作不同数据库。使用 PDO 获取 MySQL 数据,首先要创建 PDO 实例:
try {
$pdo = new PDO("mysql:host=localhost;dbname=your_database_name", "your_username", "your_password");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "连接失败: ". $e->getMessage();
}
然后执行查询并获取结果:
$stmt = $pdo->query("SELECT * FROM users");
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
echo "ID: ". $row["id"]. " - 姓名: ". $row["name"]. "<br>";
}
掌握这些方法,就能在 PHP 项目中轻松获取 MySQL 数据库中的记录数据,为开发强大的 Web 应用奠定坚实基础。
- TIOBE 最新榜单:Python 稳坐头把交椅,新兴语言发展迅猛
- 在 Spring Boot 中借助 JSON Schema 校验复杂 JSON 数据
- Zephir 用于编写 C 动态扩展库以加密 PHP 源代码
- B站一面:拆解 Java Agent 实战
- C#代码重构:五大提升代码质量的技巧
- Python 中删除文件的多种方法,你了解吗?
- Python 动态进度条的实现方式
- Upload-Lab 第一关:前端验证轻松绕过技巧!
- Acks=all 消息竟也会丢失?
- C/C++ 中 const 关键字的多样玩法:位置决定含义
- 十个鲜为人知且少用的 HTML 标签
- 选择 Zephir 为 PHP 编写动态扩展库的原因
- 老板让我实现碎片化效果的鸟,能难住我?
- Python 性能优化的十大技巧
- 前端学习难度增大的原因:JavaScript 框架发展简史探讨