当前位置:首页 > PHP

php实现数据查询

2026-04-03 10:48:14PHP

数据库连接

使用PDO或MySQLi扩展连接数据库。PDO支持多种数据库,MySQLi专用于MySQL。

PDO连接示例

$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

MySQLi连接示例

$host = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'database_name';

$conn = new mysqli($host, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

基本查询

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

PDO查询示例

$stmt = $conn->prepare("SELECT * FROM users WHERE id = :id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

MySQLi查询示例

$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);

结果处理

遍历查询结果并输出数据。

PDO结果处理

foreach ($result as $row) {
    echo "ID: " . $row['id'] . ", Name: " . $row['name'] . "<br>";
}

MySQLi结果处理

foreach ($result as $row) {
    echo "ID: " . $row['id'] . ", Name: " . $row['name'] . "<br>";
}

条件查询

根据条件动态构建查询语句。

$name = 'John';
$age = 25;

$sql = "SELECT * FROM users WHERE name = ? AND age > ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("si", $name, $age);
$stmt->execute();
$result = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);

排序和分页

添加排序和分页功能。

$page = 1;
$limit = 10;
$offset = ($page - 1) * $limit;

$sql = "SELECT * FROM users ORDER BY name ASC LIMIT ? OFFSET ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ii", $limit, $offset);
$stmt->execute();
$result = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);

错误处理

捕获并处理查询过程中的错误。

PDO错误处理

try {
    $stmt = $conn->prepare("SELECT * FROM non_existent_table");
    $stmt->execute();
} catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}

MySQLi错误处理

$result = $conn->query("SELECT * FROM non_existent_table");
if (!$result) {
    echo "Error: " . $conn->error;
}

关闭连接

查询完成后关闭数据库连接。

PDO关闭连接

$conn = null;

MySQLi关闭连接

php实现数据查询

$conn->close();

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

相关文章

php实现文件下载

php实现文件下载

PHP实现文件下载的方法 通过PHP实现文件下载功能,可以采用多种方式,以下是几种常见的实现方法: 使用header()函数强制下载 设置HTTP头信息,强制浏览器下载文件而非直接打开: $fi…

php实现验证码

php实现验证码

PHP实现验证码的方法 使用GD库生成验证码 GD库是PHP中处理图像的扩展,可用于生成验证码图片。 <?php session_start(); $width = 120; $height…

php记住密码怎么实现

php记住密码怎么实现

使用Cookie实现记住密码功能 在PHP中,可以通过设置Cookie来记住用户的登录状态。以下是一个简单的实现方式: // 用户登录验证成功后 if ($login_success) {…

php实现支付宝支付

php实现支付宝支付

支付宝支付集成步骤 准备工作 在开始集成支付宝支付前,确保已注册支付宝开放平台账号并完成企业实名认证。创建应用后获取APPID、应用私钥和支付宝公钥。 配置支付宝SDK 通过Composer安装支付…

php 链表实现

php 链表实现

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

php实现单一入口

php实现单一入口

PHP 单一入口实现方法 单一入口(Single Entry Point)是一种设计模式,通过一个入口文件(如index.php)集中处理所有请求,实现路由分发、统一初始化等操作。以下是实现方法:…