当前位置:首页 > PHP

php实现网站查询功能实现

2026-01-16 11:11:20PHP

数据库连接与配置

使用PDO或MySQLi建立数据库连接,确保配置信息(如主机名、用户名、密码、数据库名)正确。PDO示例:

$dsn = 'mysql:host=localhost;dbname=test_db;charset=utf8';  
$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表单,包含输入框和提交按钮,表单方法设置为GETPOST

<form method="GET" action="search.php">  
    <input type="text" name="keyword" placeholder="输入关键词">  
    <button type="submit">搜索</button>  
</form>  

处理查询请求

在PHP脚本中接收表单数据,使用预处理语句防止SQL注入:

php实现网站查询功能实现

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 "未找到匹配结果";  
}  

分页功能(可选)

对于大量数据,添加分页逻辑。计算总页数并限制查询范围:

php实现网站查询功能实现

$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, $perPage");  

安全优化

对输入数据过滤,避免XSS攻击:

$keyword = htmlspecialchars($_GET['keyword'], ENT_QUOTES, 'UTF-8');  

性能优化

为常用查询字段添加数据库索引,例如:

ALTER TABLE products ADD INDEX idx_name (name);  

分享给朋友:

相关文章

css制作腾讯网站

css制作腾讯网站

腾讯网站CSS样式分析 腾讯网站整体风格简洁现代,主色调为蓝色(#0079FF)和白色。导航栏固定在顶部,采用扁平化设计,图标和文字搭配清晰。 基础布局结构 全局采用响应式设计,使用flexbox或…

elementui网站

elementui网站

Element UI 官方网站 Element UI 是一个基于 Vue.js 的组件库,提供丰富的 UI 组件,适用于快速开发企业级中后台产品。以下是其相关资源: 官网地址 官方…

vue查询功能实现

vue查询功能实现

Vue 查询功能实现方法 基本搜索功能实现 在 Vue 中实现查询功能通常需要结合 v-model 和计算属性。创建一个搜索输入框,使用 v-model 绑定搜索关键词,通过计算属性过滤数据列表。…

php实现网站查询功能实现的

php实现网站查询功能实现的

PHP实现网站查询功能的方法 数据库连接与配置 使用PDO或mysqli扩展连接数据库,确保安全性。示例代码: $host = 'localhost'; $dbname = 'database_n…