当前位置:首页 > 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 本身是单线程语言,但可以通过扩展或库实现多线程功能。以下是几种常见的实现方式: 使用 pthreads 扩展 pthreads 是一个 PHP 扩展,允许在 PHP 中…

php 购物车实现session

php 购物车实现session

PHP 购物车实现(基于 Session) 在 PHP 中,使用 Session 实现购物车功能是一种常见方法。Session 可以跨页面存储用户数据,适合临时保存购物车信息。 初始化 Sessio…

php实现验证码的识别

php实现验证码的识别

验证码识别的基本方法 验证码识别通常分为手动实现和第三方工具两种方式。手动实现需要图像处理和机器学习知识,而第三方工具则更快捷。 使用Tesseract OCR识别验证码 Tesseract是一个开…

php下载文件实现

php下载文件实现

PHP 下载文件实现方法 使用 header() 函数强制下载 设置合适的 HTTP 头信息,强制浏览器下载文件而非直接打开。 $file_path = '/path/to/file.pdf'; $…

php实现记住密码

php实现记住密码

实现记住密码功能的方法 使用PHP实现记住密码功能通常需要结合Cookie和Session技术。以下是几种常见的实现方式: 使用Cookie存储登录信息 在用户登录时创建一个长期有效的Cookie来…

php实现登录功能

php实现登录功能

创建登录表单 在HTML中创建一个表单,包含用户名和密码输入框。表单的action属性指向处理登录的PHP文件,method设置为POST。 <form action="login.php"…