当前位置:首页 > PHP

php实现查询

2026-04-03 07:47:30PHP

PHP实现数据库查询的方法

使用PHP进行数据库查询通常涉及连接数据库、执行SQL语句以及处理结果。以下是几种常见的实现方式:

使用MySQLi扩展

$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扩展

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注入

MySQLi预处理语句

$stmt = $conn->prepare("SELECT id, name, email FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$id = 1;
$stmt->execute();
$result = $stmt->get_result();

PDO预处理语句

php实现查询

$stmt = $conn->prepare("SELECT id, name, email FROM users WHERE id = :id");
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();

查询结果处理技巧

获取单行数据:

$row = $result->fetch_assoc(); // MySQLi
$row = $stmt->fetch(PDO::FETCH_ASSOC); // PDO

获取所有结果:

$rows = $result->fetch_all(MYSQLI_ASSOC); // MySQLi
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // PDO

获取结果行数:

$count = $result->num_rows; // MySQLi
$count = $stmt->rowCount(); // PDO

错误处理最佳实践

try {
    // 数据库操作
} catch (Exception $e) {
    error_log($e->getMessage());
    // 显示用户友好错误
    echo "数据库操作出错,请稍后再试";
}

以上代码示例展示了PHP中实现数据库查询的主要方法。根据项目需求选择MySQLi或PDO扩展,始终使用预处理语句防止SQL注入,并妥善处理可能出现的错误。

标签: php
分享给朋友:

相关文章

php实现分类

php实现分类

PHP实现分类的方法 数据库设计 创建分类表时,通常需要包含id、名称、父级id等字段。父级id用于实现多级分类结构。 CREATE TABLE categories ( id INT AU…

php实现的分页

php实现的分页

PHP 实现分页的方法 基本分页逻辑 分页的核心在于计算总页数、当前页码以及数据偏移量。假设每页显示 10 条数据: $current_page = isset($_GET['page']) ? (…

php实现博客

php实现博客

使用PHP实现博客系统 数据库设计 创建数据库表存储博客文章和用户信息。常见的表包括posts(文章)和users(用户)。 CREATE TABLE users ( id INT AUTO…

php实现过程

php实现过程

PHP 实现过程 PHP 是一种广泛使用的服务器端脚本语言,特别适合 Web 开发。以下是 PHP 实现过程的关键步骤和注意事项。 安装与配置 下载并安装 PHP,可以从官方 PHP 网站获取最新版…

php实现域名

php实现域名

PHP实现域名操作的方法 获取当前域名 使用$_SERVER['HTTP_HOST']可以获取当前访问的域名: $currentDomain = $_SERVER['HTTP_HOST']; ech…

php session实现购物车

php session实现购物车

PHP Session 实现购物车 初始化 Session 确保在使用 Session 前调用 session_start() 函数。通常放在 PHP 文件的最顶部。 <?php sessio…