php实现网站查询功能实现的
数据库连接与配置
使用PDO或MySQLi连接数据库,确保配置信息(如主机名、用户名、密码、数据库名)正确。示例代码:
$dsn = 'mysql:host=localhost;dbname=test_db';
$username = 'root';
$password = '';
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
构建查询表单
创建HTML表单,包含输入框和提交按钮,用于用户输入查询关键词。示例:

<form method="GET" action="search.php">
<input type="text" name="keyword" placeholder="输入关键词">
<button type="submit">搜索</button>
</form>
处理查询请求
在PHP脚本中获取用户输入,使用预处理语句防止SQL注入,执行查询并返回结果。示例:

if (isset($_GET['keyword'])) {
$keyword = '%' . $_GET['keyword'] . '%';
$stmt = $pdo->prepare("SELECT * FROM products WHERE name LIKE ?");
$stmt->execute([$keyword]);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
显示查询结果
遍历查询结果并以列表或表格形式展示。示例:
if (!empty($results)) {
foreach ($results as $row) {
echo "<div>{$row['name']} - {$row['price']}</div>";
}
} else {
echo "未找到匹配结果";
}
分页功能实现
通过LIMIT和OFFSET实现分页,计算总页数并生成分页链接。示例:
$perPage = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $perPage;
$stmt = $pdo->prepare("SELECT * FROM products WHERE name LIKE ? LIMIT ? OFFSET ?");
$stmt->execute([$keyword, $perPage, $offset]);
性能优化建议
- 为查询字段添加索引以提高速度。
- 使用缓存(如Redis)存储高频查询结果。
- 避免
SELECT *,仅查询必要字段。






