PHP8 PDO与MYSQL的CRUD操作实践示例

0 下载量 90 浏览量 更新于2024-10-22 收藏 4KB ZIP 举报
知识点1: PHP8 新特性 PHP8是PHP语言的最新主要版本,于2020年11月26日发布。相比PHP7系列,PHP8带来了多项新特性,包括联合类型、命名参数、静态返回类型、match表达式等。这些新特性可以提高代码的可读性、可维护性和性能。例如,联合类型允许开发人员指定可以接受多种类型的参数,这样可以减少代码中的类型断言,提高代码的简洁性。命名参数则允许开发者在调用函数时可以指定参数名,这样即使函数参数顺序发生变化,也不会影响到函数的调用。静态返回类型允许开发人员指定函数的返回类型为static,这样可以提高代码的可读性。 知识点2: PHP8 PDO PDO是PHP Data Objects的缩写,是一个数据库访问抽象层,为多种数据库提供统一的API。PHP8中的PDO新增了一些特性,例如对MySQL8的支持,以及一些性能优化。PDO支持预处理语句,可以有效防止SQL注入攻击,提高数据库操作的安全性。此外,PDO还支持事务处理,可以保证数据的一致性和完整性。 知识点3: PHP8与MYSQL交互 PHP8可以通过PDO扩展与MySQL数据库进行交互,实现数据的增删改查等操作。在PHP8 PDO MYSQL示例中,主要使用了CURD(Create, Update, Read, Delete)操作。通过PDO的exec()方法可以执行INSERT、UPDATE、DELETE操作,而通过PDOStatement对象的fetch()方法则可以执行SELECT查询操作。 知识点4: 主键值直接查单条记录 在PHP8 PDO MYSQL示例中,可以使用PDOStatement对象的execute()方法结合主键值执行查询操作,返回单条记录。例如,假设有一个用户表user,其中id为主键,可以使用以下代码直接通过主键值查询单条记录: ```php $id = 1; $sql = "SELECT * FROM user WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->execute([':id' => $id]); $user = $stmt->fetch(); ``` 知识点5: 保存修改自动匹配存在的字段 在PHP8 PDO MYSQL示例中,可以使用PDO的属性PDO::ATTR_ORACLE_NULLS来自动匹配存在的字段。这个属性允许将NULL值转换为数据库中对应列的默认值。这样,在更新数据库记录时,如果某个字段的值为NULL,那么它将被自动转换为该字段的默认值。 知识点6: 分页查询 分页查询是在数据库查询中常用的技巧,可以有效提高查询效率,特别是在处理大量数据时。在PHP8 PDO MYSQL示例中,可以通过计算偏移量和限制数量来实现分页查询。例如,假设要查询第一页的数据,可以使用以下代码: ```php $page = 1; $limit = 10; $offset = ($page - 1) * $limit; $sql = "SELECT * FROM user LIMIT $offset, $limit"; $stmt = $pdo->prepare($sql); $stmt->execute(); $users = $stmt->fetchAll(); ``` 知识点7: 统计SUM、COUNT 在PHP8 PDO MYSQL示例中,可以使用SQL语句的聚合函数SUM和COUNT来进行数据统计。例如,如果要统计用户表user中所有用户的总数,可以使用以下代码: ```php $sql = "SELECT COUNT(*) FROM user"; $stmt = $pdo->prepare($sql); $stmt->execute(); $total = $stmt->fetchColumn(); ``` 如果要统计某个字段的总和,可以使用SUM函数。例如,统计用户表user中某个字段score的总和,可以使用以下代码: ```php $sql = "SELECT SUM(score) FROM user"; $stmt = $pdo->prepare($sql); $stmt->execute(); $sumScore = $stmt->fetchColumn(); ``` 知识点8: 返回多条记录中某个字段并组成数组 在PHP8 PDO MYSQL示例中,可以通过PDOStatement对象的fetchColumn()方法返回多条记录中的某个字段,并将这些值组成一个数组。例如,假设要获取用户表user中所有用户的name字段,并将这些值组成一个数组,可以使用以下代码: ```php $sql = "SELECT name FROM user"; $stmt = $pdo->prepare($sql); $stmt->execute(); $names = $stmt->fetchAll(PDO::FETCH_COLUMN, 0); ``` 这样,$names变量就是一个包含所有用户名字的数组。 知识点9: CURD操作 CURD操作是数据库操作的基础,分别代表创建(Create)、读取(Read)、更新(Update)和删除(Delete)。在PHP8 PDO MYSQL示例中,可以通过PDOStatement对象的execute()方法执行创建、更新和删除操作,通过fetch()方法执行读取操作。例如,创建记录的操作可以使用以下代码: ```php $sql = "INSERT INTO user (name, age) VALUES (:name, :age)"; $stmt = $pdo->prepare($sql); $stmt->execute([':name' => 'John', ':age' => 25]); ``` 更新记录的操作可以使用以下代码: ```php $id = 1; $name = 'Jane'; $age = 26; $sql = "UPDATE user SET name = :name, age = :age WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->execute([':name' => $name, ':age' => $age, ':id' => $id]); ``` 删除记录的操作可以使用以下代码: ```php $id = 1; $sql = "DELETE FROM user WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->execute([':id' => $id]); ``` 读取操作可以使用以下代码: ```php $sql = "SELECT * FROM user"; $stmt = $pdo->prepare($sql); $stmt->execute(); $users = $stmt->fetchAll(); ``` 通过以上代码,我们可以看到如何使用PHP8 PDO扩展与MySQL数据库进行交互,并执行基本的CURD操作。
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部