📜  php mysql 搜索数据库并显示结果 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:12.183000             🧑  作者: Mango

PHP MySQL 搜索数据库并显示结果

在 PHP 中使用 MySQL 数据库来搜索并显示结果是一项非常常见的任务。本文将介绍如何使用 PHP 和 MySQL 来实现此任务。我们将从连接到数据库开始,然后执行查询语句并显示结果。

连接到 MySQL 数据库

我们首先需要使用 PHP 连接到 MySQL 数据库。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>

上面的代码中,我们定义了服务器名称、用户名、密码和数据库名称。我们创建了一个 mysqli 对象来连接到数据库。如果连接失败,我们将输出一个错误信息,否则我们将输出连接成功的信息。

查询数据库

连接到数据库后,我们需要执行查询语句来搜索数据。在本例中,我们将搜索用户表,该表列出了用户的姓名和电子邮件地址。我们将使用 PHP 的 mysqli_query() 函数来执行查询语句。查询语句将在名字和电子邮件地址字段上模糊匹配搜索词。

<?php
$search = mysqli_real_escape_string($conn, $_POST['search']);

$sql = "SELECT * FROM users WHERE name LIKE '%$search%' OR email LIKE '%$search%'";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 输出每行数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "姓名: " . $row["name"]. " - 邮件: " . $row["email"]. "<br>";
    }
} else {
    echo "0 结果";
}

mysqli_close($conn);
?>

上述代码中,我们首先使用 mysqli_real_escape_string() 函数来转义搜索词中的任何特殊字符,以避免 SQL 注入攻击。然后,我们构建了一个 SQL 查询语句来搜索用户的姓名和电子邮件地址。如果查询返回结果,则我们将输出每一行数据。否则,我们将输出“0 结果”。

完整代码

下面是完整的代码示例。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 搜索数据
$search = mysqli_real_escape_string($conn, $_POST['search']);

$sql = "SELECT * FROM users WHERE name LIKE '%$search%' OR email LIKE '%$search%'";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 遍历结果
    while($row = mysqli_fetch_assoc($result)) {
        echo "姓名: " . $row["name"]. " - 邮件: " . $row["email"]. "<br>";
    }
} else {
    echo "0 结果";
}

mysqli_close($conn);
?>

这个代码示例提供了一个例子来搜索 PHP/MySQL 数据库中的数据并输出结果。您只需要将代码嵌入到网站中的适当位置,并替换数据库的相关信息即可使用。