Skip to content

数据库增删改查模板

连接数据库

php
<?php
// 数据库连接参数
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";

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

// 检查连接
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?>

查询数据(SELECT)

基本查询

php
<?php
// 基本查询
$sql = "SELECT id, name, age FROM users";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while ($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>";
    }
} else {
    echo "0 结果";
}
?>

带条件查询

php
<?php
// 带条件查询
$name = "John";
$sql = "SELECT id, name, age FROM users WHERE name = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "s", $name);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);

if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while ($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>";
    }
} else {
    echo "0 结果";
}
?>

排序查询

php
<?php
// 排序查询
$sql = "SELECT id, name, age FROM users ORDER BY age DESC";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while ($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>";
    }
} else {
    echo "0 结果";
}
?>

分页查询

php
<?php
// 分页查询
$page = 1;
$limit = 10;
$offset = ($page - 1) * $limit;

$sql = "SELECT id, name, age FROM users LIMIT ? OFFSET ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "ii", $limit, $offset);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);

if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while ($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>";
    }
} else {
    echo "0 结果";
}
?>

插入数据(INSERT)

基本插入

php
<?php
// 基本插入
$name = "John";
$age = 30;

$sql = "INSERT INTO users (name, age) VALUES (?, ?)";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "si", $name, $age);

if (mysqli_stmt_execute($stmt)) {
    echo "新记录插入成功";
} else {
    echo "错误: " . $sql . "<br>" . mysqli_error($conn);
}
?>

批量插入

php
<?php
// 批量插入
$users = array(
    array("John", 30),
    array("Jane", 25),
    array("Bob", 35)
);

$sql = "INSERT INTO users (name, age) VALUES (?, ?)";
$stmt = mysqli_prepare($conn, $sql);

foreach ($users as $user) {
    mysqli_stmt_bind_param($stmt, "si", $user[0], $user[1]);
    mysqli_stmt_execute($stmt);
}

echo "批量插入成功";
?>

更新数据(UPDATE)

基本更新

php
<?php
// 基本更新
$id = 1;
$name = "John Doe";
$age = 31;

$sql = "UPDATE users SET name = ?, age = ? WHERE id = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "sii", $name, $age, $id);

if (mysqli_stmt_execute($stmt)) {
    echo "记录更新成功";
} else {
    echo "错误: " . $sql . "<br>" . mysqli_error($conn);
}
?>

条件更新

php
<?php
// 条件更新
$age = 30;
$name = "John";

$sql = "UPDATE users SET age = ? WHERE name = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "is", $age, $name);

if (mysqli_stmt_execute($stmt)) {
    echo "记录更新成功";
} else {
    echo "错误: " . $sql . "<br>" . mysqli_error($conn);
}
?>

删除数据(DELETE)

基本删除

php
<?php
// 基本删除
$id = 1;

$sql = "DELETE FROM users WHERE id = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "i", $id);

if (mysqli_stmt_execute($stmt)) {
    echo "记录删除成功";
} else {
    echo "错误: " . $sql . "<br>" . mysqli_error($conn);
}
?>

条件删除

php
<?php
// 条件删除
$age = 30;

$sql = "DELETE FROM users WHERE age = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "i", $age);

if (mysqli_stmt_execute($stmt)) {
    echo "记录删除成功";
} else {
    echo "错误: " . $sql . "<br>" . mysqli_error($conn);
}
?>

事务处理

php
<?php
// 事务处理
try {
    mysqli_begin_transaction($conn);
    
    // 插入数据
    $sql1 = "INSERT INTO users (name, age) VALUES (?, ?)";
    $stmt1 = mysqli_prepare($conn, $sql1);
    mysqli_stmt_bind_param($stmt1, "si", "John", 30);
    mysqli_stmt_execute($stmt1);
    
    // 获取插入的 ID
    $user_id = mysqli_insert_id($conn);
    
    // 插入关联数据
    $sql2 = "INSERT INTO orders (user_id, product) VALUES (?, ?)";
    $stmt2 = mysqli_prepare($conn, $sql2);
    mysqli_stmt_bind_param($stmt2, "is", $user_id, "Product 1");
    mysqli_stmt_execute($stmt2);
    
    // 提交事务
    mysqli_commit($conn);
    echo "事务执行成功";
} catch (Exception $e) {
    // 回滚事务
    mysqli_rollback($conn);
    echo "事务执行失败: " . $e->getMessage();
}
?>

关闭连接

php
<?php
// 关闭连接
mysqli_close($conn);
?>

总结

本文提供了 PHP 中数据库增删改查的基本模板,包括连接数据库、查询数据、插入数据、更新数据、删除数据和事务处理等操作。这些模板可以作为开发中的参考,帮助你快速实现数据库操作。

在使用这些模板时,应该注意以下几点:

  • 使用预处理语句防止 SQL 注入
  • 正确处理错误和异常
  • 及时关闭数据库连接
  • 遵循最佳实践和编码规范

通过使用这些模板,你可以更高效地开发 PHP 应用程序,提高代码质量和安全性。

© 2026 编程马·菜鸟教程 版权所有