PHP 从数据库动态展示数据209


PHP 作为一门服务器端语言,在与数据库交互方面有着强大的能力。通过 PHP,我们可以将数据库中的数据动态地展示在网页上,实现数据的可视化呈现。

建立数据库连接

在 PHP 中建立与数据库的连接需要使用 mysqli 扩展:

$mysqli = new mysqli("localhost", "username", "password", "database_name");

执行 SQL 查询

建立连接后,我们可以执行 SQL 查询来获取数据库中的数据:

$result = $mysqli->query("SELECT * FROM table_name");

获取查询结果

查询结果以 mysqli_result 对象的形式返回。我们可以使用 fetch_assoc() 方法以关联数组的形式获取一行查询结果:

while ($row = $result->fetch_assoc()) {
// 操作每一行数据
}

展示查询结果

获取查询结果后,我们可以使用 PHP 的输出命令将其展示在网页上:

echo "



ID
名称
描述


";
while ($row = $result->fetch_assoc()) {
echo "
" . $row['id'] . "
" . $row['name'] . "
" . $row['description'] . "
";
}
echo "
";

释放资源

在处理完查询结果后,需要释放占用的资源:

$result->free();
$mysqli->close();

分页

当数据库中的数据量很大时,需要进行分页处理,防止一次性加载所有数据导致页面卡顿。PHP 中可以使用以下方法实现分页:
获取总记录数:

$total_records = $mysqli->query("SELECT COUNT(*) FROM table_name")->fetch_column();

计算总页数:

$total_pages = ceil($total_records / $per_page);

获取当前页码:

$current_page = isset($_GET['page']) ? $_GET['page'] : 1;

计算偏移量:

$offset = ($current_page - 1) * $per_page;

执行分页查询:

$result = $mysqli->query("SELECT * FROM table_name LIMIT $per_page OFFSET $offset");

构建分页导航栏:

echo '';
for ($i = 1; $i query($search_query);

展示搜索结果:

// 与展示查询结果部分类似

安全注意事项

在从数据库展示数据时,需要注意以下安全问题:
使用预处理语句防止 SQL 注入:

$stmt = $mysqli->prepare("SELECT * FROM table_name WHERE name = ?");
$stmt->bind_param('s', $name);

转义特殊字符防止 XSS 攻击:

echo htmlspecialchars($row['name']);

限制查询结果防止数据泄露:

$limit = 100;
$result = $mysqli->query("SELECT * FROM table_name LIMIT $limit");

通过遵循这些最佳实践,我们可以确保 PHP 从数据库展示数据时的安全性和可靠性。

2024-11-25


上一篇:PHP 获取指定字符串

下一篇:如何有效地从 PHP 中移除空字符串?