博主信息
博文 46
粉丝 0
评论 0
访问量 47479
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP中实例演示CURD操作
上草一方
原创
896人浏览过

代码如下:

  1. <?php
  2. namespace php_edu;
  3. use PDO;
  4. /**
  5. * 数据库常用操作
  6. * 1. 读操作: select
  7. * 2. 写操作: insert,update,delete
  8. * 简称: CURD, 增删改查
  9. */
  10. // 1. 连接数据库
  11. require __DIR__ . '/config/connect.php';
  12. // 2. CURD: INSERT
  13. /**
  14. * PDO预处理
  15. * 为什么要用预处理?
  16. * 1. 防止SQL注入攻击, 2. 数据延迟绑定
  17. * (编程时只写SQL语句模板,执行SQL时再给占位符绑定真实数据)
  18. * 预处理过程:
  19. * 1. 创建SQL语句模板对象: 数据使用占位符表示
  20. * 2. 执行SQL语句,根据操作类型(写/读),读返回结果集/数组, 写返回受影响的记录数量
  21. */
  22. // INSERT 插入
  23. // INSERT 表名 SET 字段1=值1, 字段2=值2, ....
  24. // SQL语句的推荐规范:
  25. // 1. 关键字全大写
  26. // 2. 表名,字段名使用反引号做为定界符
  27. $sql = 'INSERT `myhome` SET `name` = ?, `sex` = ?, `email` = ?';
  28. // 1. 创建SQL语句模板对象
  29. $stmt = $db->prepare($sql);
  30. // var_dump($stmt);
  31. // 2. 执行SQL语句
  32. $stmt->execute(['爸爸', 0, 'father@qq.com']);
  33. $stmt->execute(['妈妈', 1, 'mother@qq.com']);
  34. $stmt->execute(['爷爷', 0, 'grandpa@qq.com']);
  35. $stmt->execute(['奶奶', 1, 'grandma@qq.com']);
  36. $stmt->execute(['哥哥', 0, 'brother@qq.com']);
  37. $stmt->execute(['姐姐', 1, 'sister@qq.com']);
  38. $stmt->execute(['我自己', 0, 'myself@qq.com']);
  39. // 成功
  40. // $stmt->rowCount(): 返回受影响的记录数量
  41. if ($stmt->rowCount() > 0) {
  42. echo '新增成功, 新增记录的主键ID = ' . $db->lastInsertId();
  43. } else {
  44. echo '新增失败';
  45. print_r($stmt->errorInfo());
  46. }
  47. // 2. CURD: UPDATE 更新
  48. $sql = 'UPDATE `myhome` SET `name` = ? WHERE `id` = ?';
  49. $stmt = $db->prepare($sql);
  50. $stmt->execute(['夏天', 1]);
  51. if ($stmt->rowCount() > 0) {
  52. echo '更新成功';
  53. } else {
  54. echo '更新失败';
  55. print_r($stmt->errorInfo());
  56. }
  57. echo '<hr>';
  58. // 3. CURD: DELETE 删除
  59. $sql = 'DELETE FROM `myhome` WHERE `id` = ?';
  60. $stmt = $db->prepare($sql);
  61. $stmt->execute([2]);
  62. if ($stmt->rowCount() > 0) {
  63. echo '删除成功';
  64. } else {
  65. echo '删除失败';
  66. print_r($stmt->errorInfo());
  67. }
  68. echo '<hr>';
  69. // 4. CURD: SELECT 单条查询
  70. // SELECT 字段列表 FROM 表名 WHERE 查询条件
  71. $sql = 'SELECT `id` ,`name` FROM `myhome` WHERE `id` > :id';
  72. $stmt = $db->prepare($sql);
  73. $stmt->execute(['id'=>6]);
  74. // 单条查询
  75. $myhome = $stmt->fetch(PDO::FETCH_ASSOC);
  76. printf('<pre>%s</pre>', print_r($myhome, true));
  77. echo '<hr>';
  78. // 5. CURD: SELECT 多条查询
  79. // SELECT 字段列表 FROM 表名 WHERE 查询条件
  80. $sql = 'SELECT `id`,`name` FROM `myhome` WHERE `id` > :id';
  81. $stmt = $db->prepare($sql);
  82. $stmt->execute(['id' => 7]);
  83. // fetchAll: 返回全部满足条件的记录集合,二维数组
  84. $myhomes = $stmt->fetchAll();
  85. // print_r($staffs);
  86. foreach ($myhomes as $myhome) {
  87. printf('<pre>%s</pre>', print_r($myhome, true));
  88. }

数据库更新如下:

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学