Blogger Information
Blog 36
fans 1
comment 0
visits 29631
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php与基础CURD
Jason
Original
929 people have browsed it

php数据库与CURD

数据库的管理工具

数据库管理工具有很多种,这里推荐用adminner.php,对于新手来说够用,不用太复杂的操作就行

简单CURD操作

数据表如下

CURD练习

  1. <?php
  2. namespace pdo_edu;
  3. use PDO;
  4. // 增操作
  5. // 1.建立连接
  6. require 'connect.php';
  7. // 操作数据库
  8. $sql = "INSERT `staffs` SET `name`=? , `age`=?, `class`=?, `phone`=?, `address`=?";
  9. $stmt = $pdo -> prepare($sql);
  10. $data = ['强哥',99,2020,'156666','北京市'];
  11. $stmt->execute($data);
  12. if ($stmt->rowCount() == 1) {
  13. echo '增加成功,主键是:' . $pdo->lastInsertId();
  14. } else {
  15. echo '失败';
  16. print_r($stmt->errorInfo());
  17. }
  18. unset($pdo);
  19. echo '<hr>';
  20. // 删除操作
  21. require 'connect.php';
  22. $sql = "DELETE FROM `staffs` WHERE `id`=:id";
  23. $stmt = $pdo->prepare($sql);
  24. $id = filter_input(INPUT_GET,'id',FILTER_VALIDATE_INT);
  25. $stmt->execute(['id'=>$_GET['id']]);
  26. // 判断是否执行成功
  27. if($stmt->rowCount() === 1){
  28. echo '删除成功';
  29. }
  30. unset($pdo);
  31. echo '<hr>';
  32. // 修改操作
  33. require 'connect.php';
  34. // 2.操作数据表
  35. $sql = "UPDATE `staffs` SET `name` = ? WHERE `id`=?";
  36. $stmt = $pdo->prepare($sql);
  37. $stmt->execute([100,12]);
  38. // rowCount():返回写操作产生的受影响的记录数量
  39. if ($stmt->rowCount() === 1){
  40. echo '更新成功';
  41. } else {
  42. echo '没有更新';
  43. print_r($stmt->errorInfo());
  44. }
  45. unset($pdo);
  46. echo '<hr>';
  47. // 查询
  48. require 'connect.php';
  49. $sql = 'SELECT * FROM `staffs` WHERE `id` > :id';
  50. // 预处理对象
  51. $stmt = $pdo->prepare($sql);
  52. $stmt -> execute(['id'=>0]);
  53. $staffs = $stmt -> fetchAll(PDO::FETCH_ASSOC);
  54. // var_dump($staffs);
  55. foreach ($staffs as $staff) {
  56. printf('id=%s--姓名=%s---班级=%s<br>',$staff['id'],$staff['name'],$staff['class']);
  57. }
  58. // 关闭连接
  59. unset($pdo);

输出

  1. 数据库连接成功
  2. 增加成功,主键是:16
  3. 数据库连接成功
  4. 删除成功
  5. 数据库连接成功
  6. 更新成功
  7. 数据库连接成功
  8. id=1--姓名=100---班级=1564
  9. id=2--姓名=100---班级=1234
  10. id=3--姓名=王麻子---班级=123
  11. id=4--姓名=1---班级=1
  12. id=6--姓名=3---班级=3
  13. id=7--姓名=龙哥---班级=2020
  14. id=9--姓名=100---班级=2020
  15. id=12--姓名=100---班级=2020
  16. id=13--姓名=强哥---班级=2020
  17. id=14--姓名=强哥---班级=2020
  18. id=15--姓名=强哥---班级=2020
  19. id=16--姓名=强哥---班级=2020

总结

在作业的过程中,出现了很多的问题,整个案例也就几个增删改查,但实际做起来我碰到几个问题总结如下,

连接数据库

  • 出现了could not find driver问题,通过一番百度,说是驱动问题,安装了一遍,还是不行,后来再仔细一看,原来是单引号与双引号的作用没有搞明白,单引号下的变量php是不会去解析的,双引号与没有符合下的变量php才会去解析。后来慢慢调试才发现错误。

操作数据库

  • 在修改数据时,由与设置更改的是ID,但这个ID数字太大,数据库没有这个数据,导致输出的时候没有数据,一度怀疑代码错误,后来开始检查代码逻辑,才发现ID设置太大,更新不了。

以上的问题都是一些小的问题,但结果却是很致命,花了一上午的时间在检查could not find driver,也让我知道了基础的重要性,基础不牢固就会有各种各样的bug。而还有一种办法可以补救,那就是要会调试,出现问题并不可怕,可怕的是问题出在哪里不知道,只有不停的调试,找到问题,才可以解决问题,有时候光会写代码没有用,因为总会有各种各样的问题,所以会调试才能让程序员走的更远。

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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!