php实现网站查询功能
PHP实现网站查询功能的方法
数据库连接与查询
使用PHP连接数据库并执行查询操作是常见的实现方式。MySQLi或PDO扩展可用于连接MySQL数据库。
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$searchTerm = $_GET['search'];
$sql = "SELECT * FROM products WHERE name LIKE '%$searchTerm%'";
$result = $conn->query($sql);
表单处理与用户输入
创建HTML表单接收用户查询输入,PHP处理表单提交并返回结果。
<form method="GET" action="search.php">
<input type="text" name="search" placeholder="Search...">
<button type="submit">Search</button>
</form>
结果显示与分页
将查询结果以列表形式展示,并实现分页功能提升用户体验。
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<div class='result-item'>";
echo "<h3>" . $row["name"] . "</h3>";
echo "<p>" . $row["description"] . "</p>";
echo "</div>";
}
} else {
echo "No results found";
}
安全防护措施
防止SQL注入攻击,使用预处理语句处理用户输入。
$stmt = $conn->prepare("SELECT * FROM products WHERE name LIKE ?");
$searchTerm = "%" . $_GET['search'] . "%";
$stmt->bind_param("s", $searchTerm);
$stmt->execute();
$result = $stmt->get_result();
性能优化建议
为常用查询字段添加索引,提高查询速度。缓存常用查询结果减少数据库压力。
CREATE INDEX idx_product_name ON products(name);
高级搜索功能
实现多条件组合搜索,提供更精确的查询结果。
$category = $_GET['category'];
$price_min = $_GET['price_min'];
$price_max = $_GET['price_max'];
$sql = "SELECT * FROM products WHERE name LIKE ? AND category = ? AND price BETWEEN ? AND ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("siii", $searchTerm, $category, $price_min, $price_max);






