博客列表 >php与基础CURD

php与基础CURD

Jason
Jason原创
2020年05月10日 16:32:39928浏览

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。而还有一种办法可以补救,那就是要会调试,出现问题并不可怕,可怕的是问题出在哪里不知道,只有不停的调试,找到问题,才可以解决问题,有时候光会写代码没有用,因为总会有各种各样的问题,所以会调试才能让程序员走的更远。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议