在PHP中,我们可以使用PDO(PHP Data Objects)库来执行数据库搜索和模糊查询。以下是一个简单的示例,展示了如何使用PDO执行搜索和模糊查询。
首先,确保已经安装了PDO扩展并启用了相应的数据库驱动程序。在这个例子中,我们将使用MySQL数据库。
config.php
的文件,用于存储数据库连接信息:<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
?>
search.php
的文件,用于执行搜索和模糊查询:<?php
// 引入数据库连接信息
require_once 'config.php';
// 创建PDO连接
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
// 获取用户输入
$search = isset($_GET['search']) ? $_GET['search'] : '';
// 搜索查询
if ($search) {
$stmt = $conn->prepare("SELECT * FROM your_table WHERE your_column LIKE :search");
$searchTerm = '%' . $search . '%';
$stmt->bindParam(':search', $searchTerm, PDO::PARAM_STR);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
} else {
// 如果没有搜索词,可以选择显示所有数据
$stmt = $conn->query("SELECT * FROM your_table");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
// 显示结果
echo "<table>";
echo "<tr><th>ID</th><th>Column</th></tr>";
foreach ($results as $row) {
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['your_column'] . "</td>";
echo "</tr>";
}
echo "</table>";
// 关闭连接
$conn = null;
?>
在这个示例中,我们首先创建了一个PDO连接,然后根据用户输入的搜索词执行模糊查询。如果没有提供搜索词,我们将显示表中的所有数据。最后,我们关闭了数据库连接。
请注意,你需要将your_username
、your_password
、your_database
和your_table
替换为实际的数据库连接信息和表名。同时,根据你的需求修改your_column
。