Blogger Information
Blog 33
fans 0
comment 0
visits 19839
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
11月21日作业pdo操作增删查改--PHP培训九期线上班
取个名字真难
Original
612 people have browsed it

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. ?>
Correcting teacher:查无此人查无此人

Correction status:qualified

Teacher's comments:完成的不错,继续努力。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post