【PHP快速上手(十四)】

目录

  • PHP快速上手(十四)
    • PHP 中常用数据库操作
      • 使用 WHERE 子句进行条件查询
      • 使用 ORDER BY 子句进行排序
      • 使用 UPDATE 语句更新数据
      • 使用 DELETE 语句删除数据
      • 执行事务
      • 总结

PHP快速上手(十四)

PHP 中常用数据库操作

当使用 PHP 中的 MySQL 数据库时,经常需要使用 WHERE、ORDER BY、UPDATE 和 DELETE 这些关键字来对数据库进行查询、排序、更新和删除操作。下面将详细介绍这些关键字在 PHP 中的使用方法:

使用 WHERE 子句进行条件查询

WHERE 子句用于指定条件,以过滤查询结果。

php 复制代码
// 连接数据库
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// 构建 SQL 查询
$sql = "SELECT * FROM users WHERE age > 18";

// 执行查询
$result = mysqli_query($conn, $sql);

// 处理结果集
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo "Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>";
    }
} else {
    echo "0 results";
}

// 关闭连接
mysqli_close($conn);

使用 ORDER BY 子句进行排序

ORDER BY 子句用于按指定的列对结果集进行排序。

php 复制代码
// 构建 SQL 查询
$sql = "SELECT * FROM users ORDER BY age DESC";

// 执行查询...

使用 UPDATE 语句更新数据

UPDATE 语句用于更新表中的数据。

php 复制代码
// 构建 SQL 查询
$sql = "UPDATE users SET age = 20 WHERE name = 'John'";

// 执行更新操作...

使用 DELETE 语句删除数据

1.使用 MySQLi 删除数据(面向过程)

php 复制代码
$sql = "DELETE FROM users WHERE name='John Doe'";
if (mysqli_query($conn, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($conn);
}

2.使用 PDO 删除数据

php 复制代码
$sql = "DELETE FROM users WHERE name=:name";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':name', $name);

$name = "John Doe";
$stmt->execute();

执行事务

php 复制代码
$conn->begin_transaction();
$sql1 = "INSERT INTO table1 (name) VALUES ('Alice')";
$sql2 = "UPDATE table2 SET status='completed' WHERE id=1";
$conn->query($sql1);
$conn->query($sql2);
$conn->commit();

总结

通过使用 WHERE、ORDER BY、UPDATE 和 DELETE 这些关键字,你可以对 MySQL 数据库执行更加灵活的查询、排序、更新和删除操作。在 PHP 中,通过构建合适的 SQL 查询并执行它们,可以方便地操作数据库中的数据。务必谨慎使用 UPDATE 和 DELETE 操作,确保操作的准确性和安全性。

相关推荐
原子延迟5 分钟前
视频太大怎么压缩发微信?先查限制再压的3种方法(2026)
开发语言·图像处理·人工智能·计算机视觉·音视频
FITA阿泽要努力27 分钟前
Fork Agent:共享上下文的艺术
开发语言·python·agent
小小、码农1 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++
Dovis(誓平步青云)1 小时前
逆变器报警却找不到板子,热斑图怎样定位到具体组串
java·开发语言·人工智能·机器学习·卷积神经网络
坐吃山猪1 小时前
Python-Hermite基函数
开发语言·python
空~自由1 小时前
Python 正则 . * ? .* .*? (.*?) 通俗讲解
开发语言·python
程序 代码狂人2 小时前
经典 SQL 面试题:连续登录问题的两种经典解法
java·开发语言·算法
李纲明2 小时前
WordPress 古腾堡点「更新」报「不是有效的 JSON 响应」:我按 REST 接口一路查下来的顺序
运维·nginx·php·wordpress·rest api
星夜离尘562 小时前
MATLAB 只剩批次摘要怎么合并方差:用 n、mean、M2 保留批间差异
开发语言·matlab