php实现网站查询功能实现的
数据库连接与配置
创建数据库连接文件(如db_connect.php),使用PDO或MySQLi连接数据库。示例代码:
<?php
$host = 'localhost';
$dbname = 'your_database';
$username = 'your_username';
$password = 'your_password';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
?>
前端搜索表单设计
在HTML中创建搜索表单,通过GET或POST方法提交查询关键词:
<form action="search.php" method="GET">
<input type="text" name="keyword" placeholder="输入搜索关键词">
<button type="submit">搜索</button>
</form>
后端查询逻辑处理
在search.php中接收参数并执行数据库查询,使用预处理语句防止SQL注入:
<?php
include 'db_connect.php';
$keyword = isset($_GET['keyword']) ? trim($_GET['keyword']) : '';
if (!empty($keyword)) {
$stmt = $conn->prepare("SELECT * FROM products WHERE name LIKE :keyword");
$stmt->bindValue(':keyword', '%' . $keyword . '%');
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
?>
结果显示与分页
遍历查询结果并展示,可添加分页功能提升用户体验:

<?php if (!empty($results)): ?>
<ul>
<?php foreach ($results as $item): ?>
<li><?php echo htmlspecialchars($item['name']); ?></li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<p>未找到匹配结果</p>
<?php endif; ?>
性能优化建议
- 对数据库字段添加索引(如
name字段)加速查询。 - 使用AJAX实现无刷新搜索,提升交互体验。
- 限制查询结果数量,避免一次性返回过多数据。
安全注意事项
- 始终使用预处理语句或参数化查询。
- 对输出内容使用
htmlspecialchars()防止XSS攻击。 - 避免直接拼接SQL语句,严格过滤输入参数。






