博客列表 >11月21日作业pdo操作增删查改--PHP培训九期线上班

11月21日作业pdo操作增删查改--PHP培训九期线上班

取个名字真难
取个名字真难原创
2019年11月23日 21:58:10598浏览

pdo操作:连接、增删查改操作(手写)



pdo操作代码

  1. <?php
  2. // 数据库连接参数
  3. $db = [
  4. 'type' => 'mysql',
  5. 'host' => 'localhost',
  6. 'dbname' => 'mysql',
  7. 'username' => 'root',
  8. 'password' => 'root',
  9. ];
  10. // 配置数据源DSN信息
  11. $dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
  12. // 连接数据库
  13. try {
  14. $pdo = new PDO($dsn, $db['username'], $db['password']);
  15. } catch (PDOException $e) {
  16. echo "111";
  17. die('Connection Failed: ' . $e->getMessage());
  18. };
  19. pdo预处理
  20. 创建sql语句模板
  21. $sql='INSERT INTO `system` SET `sys_id`= :sys_id, `title`=:title, `desc`=:desc, `key`=:key, `copy`=:copy';
  22. // 创建sql语句对象
  23. $stmt=$pdo->prepare($sql);
  24. /// 4. 将变量绑定到SQL语句模板的命名占位符上
  25. $sys_id=1;
  26. $title='私人影院';
  27. $desc='收集全网最新最全的影视资源';
  28. $key='国产,欧美,日韩';
  29. $copy='欧阳克';
  30. $stmt->bindParam('sys_id',$sys_id,PDO::PARAM_INT);
  31. $stmt->bindParam('title',$title,PDO::PARAM_STR);
  32. $stmt->bindParam('desc',$desc,PDO::PARAM_STR);
  33. $stmt->bindParam('key',$key,$pdo::PARAM_STR);
  34. $stmt->bindParam('copy',$copy,$pdo::PARAM_STR);
  35. //# 新增记录
  36. // 2. 创建SQL语句模板
  37. $sql='INSERT INTO `system` SET `sys_id`=:sys_id,`title`=:title,`desc`=:desc,`key`=:key,`copy`=:copy';
  38. // 3. 创建SQL语句对象
  39. $stmt=$pdo->prepare($sql);
  40. // 4. 将变量绑定到SQL语句模板的命名占位符上
  41. $sys_id=1;
  42. $title='私人影院';
  43. $desc='收集全网最新最全的影视资源';
  44. $key='国产,欧美,日韩';
  45. $copy='欧阳克';
  46. $stmt->bindParam('sys_id',$sys_id,PDO::PARAM_INT);
  47. $stmt->bindParam('title',$title,PDO::PARAM_STR);
  48. $stmt->bindParam('desc',$desc,PDO::PARAM_STR);
  49. $stmt->bindParam('key',$key,PDO::PARAM_STR);
  50. $stmt->bindParam('copy',$copy,PDO::PARAM_STR);
  51. // 5. 执行SQL操作
  52. if($stmt->execute()){
  53. if($stmt->rowCount()>0){
  54. echo('成功添加');
  55. }
  56. }else{
  57. die('<pre>'.print_r($stmt->errorInfo(),true));
  58. }
  59. 更新记录
  60. 2. 创建SQL语句模板
  61. $sql = 'UPDATE `category` SET `name` = :name, `alias` = :alias WHERE `cate_id`=:cate_id';
  62. // 3. 创建SQL语句对象
  63. $stmt = $pdo->prepare($sql);
  64. // 4. 将变量绑定到SQL语句模板的命名占位符上
  65. $name = 'xjj';
  66. $alias = '小姐姐';
  67. $cate_id = 4;
  68. $stmt->bindParam('name', $name, PDO::PARAM_STR);
  69. $stmt->bindParam('alias', $alias, PDO::PARAM_STR);
  70. $stmt->bindParam('cate_id', $cate_id, PDO::PARAM_INT);
  71. // 5. 执行SQL操作
  72. if ($stmt->execute()) {
  73. if ($stmt->rowCount() > 0) {
  74. echo '成功更新了' . $stmt->rowCount() . '条记录';
  75. }
  76. } else {
  77. echo '1111';
  78. die('<pre>' . print_r($stmt->errorInfo(), true));
  79. }
  80. # 删除记录
  81. 创建SQL语句模板
  82. $sql = 'DELETE FROM `category` WHERE `cate_id`=:cate_id';
  83. // 3. 创建SQL语句对象
  84. $stmt = $pdo->prepare($sql);
  85. /// 4. 将变量绑定到SQL语句模板的命名占位符上
  86. $cate_id = 1;
  87. $stmt->bindParam('cate_id', $cate_id, PDO::PARAM_INT);
  88. // 5. 执行SQL操作
  89. if ($stmt->execute()) {
  90. if ($stmt->rowCount() > 0) {
  91. echo '成功删除了' . $stmt->rowCount() . '条记录';
  92. }
  93. } else {
  94. die('<pre>' . print_r($stmt->errorInfo(), true));
  95. }
  96. 查询1: fetch() + while()
  97. 创建sql语句模板
  98. $sql='SELECT * FROM `movies` where `cate_id`=:cate_id';
  99. //创建、sql语句对象
  100. $stmt=$pdo->prepare($sql);
  101. //绑定变量
  102. $cate_id=1;
  103. $stmt->bindParam('cate_id',$cate_id, PDO::PARAM_INT);
  104. 执行操作
  105. $stmt->execute();
  106. 遍历
  107. while($movie=$stmt->fetch(PDO::FETCH_ASSOC)){
  108. echo '<pre>'.print_r($movie,true);
  109. }
  110. # 查询2: fetchAll()
  111. //创建sql语句模板
  112. $sql=' SELECT * FROM `movies` WHERE `cate_id`=:cate_id';
  113. //创建sql语句对象
  114. $stmt=$pdo->prepare($sql);
  115. //绑定变量
  116. $cate_id=3;
  117. $stmt->bindParam('cate_id',$cate_id,PDO::PARAM_INT);
  118. //执行操作
  119. $stmt->execute();
  120. //遍历二维数组
  121. $movies=$stmt->fetchAll(PDO::FETCH_ASSOC);
  122. foreach ($movies as $movie){
  123. echo '<pre>'.print_r($movie,true);
  124. }
  125. //# 查询3: bindColumn()
  126. // 2. 创建SQL语句模板
  127. $sql = 'SELECT * FROM `movies` WHERE `cate_id` = :cate_id';
  128. // 3. 创建SQL语句对象
  129. $stmt = $pdo->prepare($sql);
  130. // 4. 将变量绑定到SQL语句模板的命名占位符上
  131. $cate_id = 3;
  132. $stmt->bindParam('cate_id', $cate_id, PDO::PARAM_INT);
  133. // 5. 执行SQL操作
  134. $stmt->execute();
  135. // 将结果集中的记录中的字段, 绑定到指定的变量上
  136. $stmt->bindColumn('name', $name);
  137. $stmt->bindColumn('detail', $detail);
  138. while ($stmt->fetch(PDO::FETCH_ASSOC)) {
  139. $detail = mb_substr($detail,0, 20,'utf-8');
  140. echo '片名: ' . $name . '<br>' . '简介: ' . $detail . '...<hr>';
  141. }
  142. ?>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议