当前位置:首页 > PHP

php实现数据查询

2026-02-14 02:56:12PHP

PHP 实现数据查询的方法

使用 MySQLi 扩展

连接到 MySQL 数据库并执行查询:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 执行查询
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

// 处理结果
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 结果";
}

// 关闭连接
$conn->close();
?>

使用 PDO 扩展

使用 PDO 进行更安全的数据库操作:

php实现数据查询

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $conn->prepare("SELECT id, name, email FROM users"); 
    $stmt->execute();

    // 设置结果集为关联数组
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 

    foreach($stmt->fetchAll() as $row) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} catch(PDOException $e) {
    echo "错误: " . $e->getMessage();
}
$conn = null;
?>

使用预处理语句防止 SQL 注入

<?php
$stmt = $conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);

$email = "user@example.com";
$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // 处理数据
}
?>

使用 PDO 预处理语句

<?php
$stmt = $conn->prepare("SELECT * FROM users WHERE email = :email");
$stmt->bindParam(':email', $email);

$email = "user@example.com";
$stmt->execute();

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
    // 处理数据
}
?>

使用 LIMIT 分页查询

<?php
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$perPage = 10;
$start = ($page > 1) ? ($page * $perPage) - $perPage : 0;

$sql = "SELECT * FROM posts LIMIT {$start}, {$perPage}";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {
    // 显示数据
}
?>

使用 JOIN 查询关联表

<?php
$sql = "SELECT users.name, orders.product, orders.amount 
        FROM users 
        INNER JOIN orders ON users.id = orders.user_id";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {
    echo $row["name"]." 购买了 ".$row["product"]." 数量 ".$row["amount"]."<br>";
}
?>

使用 WHERE 条件查询

<?php
$sql = "SELECT * FROM products WHERE price > 50 AND stock > 0";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {
    // 显示产品数据
}
?>

使用 ORDER BY 排序

<?php
$sql = "SELECT * FROM products ORDER BY price DESC";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {
    // 显示按价格降序排列的产品
}
?>

使用 GROUP BY 分组

<?php
$sql = "SELECT category, COUNT(*) as count FROM products GROUP BY category";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {
    echo "分类 ".$row["category"]." 有 ".$row["count"]." 个产品<br>";
}
?>

使用 LIKE 模糊查询

<?php
$search = "%apple%";
$sql = "SELECT * FROM products WHERE name LIKE ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $search);
$stmt->execute();

$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
    // 显示匹配的产品
}
?>

标签: 数据查询php
分享给朋友:

相关文章

php实现文件上传

php实现文件上传

PHP 文件上传实现方法 在 PHP 中实现文件上传需要处理 HTML 表单和服务器端脚本。以下是详细步骤: 创建 HTML 表单 使用 enctype="multipart/form-data"…

php 登录实现

php 登录实现

PHP 登录实现 PHP 登录功能通常包括用户认证、会话管理和安全性措施。以下是实现 PHP 登录功能的关键步骤。 数据库准备 创建一个用户表存储用户信息,通常包括用户名、密码(加密存储)和其他必要…

php实现聊天

php实现聊天

实现 PHP 聊天功能的方法 使用 WebSocket 和 PHP 实现实时聊天 WebSocket 是一种全双工通信协议,适合实现实时聊天功能。PHP 可以通过 Ratchet 库实现 WebSo…

php无限分类的实现

php无限分类的实现

PHP无限分类的实现 无限分类是一种常见的树形结构数据组织方式,适用于商品分类、菜单管理、地区选择等场景。以下是几种实现方法: 递归实现法 递归是最直观的实现方式,通过函数自身调用来遍历子分类。数据…

php 链表实现

php 链表实现

在 PHP 中实现链表可以通过类来模拟链表节点(Node)和链表(LinkedList)结构。以下是链表的完整实现示例,包含基础操作如插入、删除、遍历等。 链表节点类(Node) 链表的基本单元是节…

php实现apk下载

php实现apk下载

实现APK下载的PHP代码 创建一个简单的PHP脚本来处理APK文件的下载请求,确保文件传输正确且安全。 <?php $file = 'path/to/your/app.apk'; if (f…