当前位置:首页 > PHP

php实现网页数据查询

2026-02-14 05:43:27PHP

PHP 实现网页数据查询的方法

连接数据库

使用 PHP 内置的 mysqliPDO 扩展连接数据库。mysqli 适用于 MySQL 数据库,PDO 支持多种数据库类型。

// 使用 mysqli 连接 MySQL 数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

执行 SQL 查询

通过 SQL 语句查询数据库中的数据,并将结果存储在变量中。

$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 结果";
}

处理查询结果

使用循环遍历查询结果,并将数据输出到网页上。fetch_assoc() 方法以关联数组形式返回每一行数据。

关闭数据库连接

查询完成后,关闭数据库连接以释放资源。

php实现网页数据查询

$conn->close();

使用 PDO 实现查询

PDO 提供了更灵活的数据库操作方式,支持预处理语句,防止 SQL 注入。

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $conn->prepare("SELECT id, name, email FROM users");
    $stmt->execute();

    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach ($result as $row) {
        echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} catch(PDOException $e) {
    echo "错误: " . $e->getMessage();
}
$conn = null;

通过表单提交查询条件

在网页上添加表单,允许用户输入查询条件,通过 $_GET$_POST 获取用户输入并动态生成 SQL 查询。

php实现网页数据查询

<form method="post" action="search.php">
    <input type="text" name="search_term" placeholder="输入查询关键词">
    <input type="submit" value="查询">
</form>
$search_term = $_POST['search_term'];
$sql = "SELECT * FROM users WHERE name LIKE '%$search_term%' OR email LIKE '%$search_term%'";

分页显示查询结果

对于大量数据,可以通过分页提高用户体验。使用 LIMITOFFSET 实现分页查询。

$per_page = 10;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$offset = ($page - 1) * $per_page;

$sql = "SELECT * FROM users LIMIT $per_page OFFSET $offset";
$result = $conn->query($sql);

使用 AJAX 实现无刷新查询

通过 jQuery 或原生 JavaScript 发送 AJAX 请求,动态加载查询结果,无需刷新页面。

$("#search_form").submit(function(e) {
    e.preventDefault();
    $.ajax({
        type: "POST",
        url: "search.php",
        data: $(this).serialize(),
        success: function(response) {
            $("#results").html(response);
        }
    });
});

防止 SQL 注入

使用预处理语句或过滤用户输入,避免 SQL 注入攻击。

$stmt = $conn->prepare("SELECT * FROM users WHERE name = ?");
$stmt->bind_param("s", $search_term);
$stmt->execute();

以上方法涵盖了从基础到进阶的网页数据查询实现方式,适用于大多数 PHP 网页开发场景。

分享给朋友:

相关文章

vue实现网页水印

vue实现网页水印

添加静态水印 在Vue中可以通过CSS或Canvas实现静态水印。CSS方法适合简单文字水印,Canvas适合复杂水印效果。 <template> <div class="wa…

h5实现网页跳转

h5实现网页跳转

H5实现网页跳转的方法 在HTML5中,可以通过多种方式实现网页跳转。以下是几种常见的方法: 使用<a>标签 通过超链接标签实现跳转是最传统的方式: <a href="http…

react如何加载网页

react如何加载网页

使用 React 加载网页的方法 通过 iframe 嵌入网页 在 React 组件中,可以通过 iframe 标签直接加载外部网页。这种方式简单直接,适合嵌入第三方页面或静态内容。 imp…

vue实现网页打印

vue实现网页打印

Vue 实现网页打印的方法 在 Vue 项目中实现网页打印功能可以通过以下几种方式完成,具体选择取决于需求和场景。 使用 window.print() 方法 调用浏览器原生的打印功能是最简单的方式。…

react拖拽实现网页

react拖拽实现网页

实现React拖拽功能的方法 使用react-dnd库实现拖拽功能 安装依赖:npm install react-dnd react-dnd-html5-backend 创建可拖拽组件时用useDra…

react实现网页跳转

react实现网页跳转

使用 react-router-dom 进行页面跳转 安装 react-router-dom 库: npm install react-router-dom 在根组件(如 App.js)中配置路由:…