博客列表 >更新,删除,插入操作的链式调用

更新,删除,插入操作的链式调用

一个好人
一个好人原创
2023年04月23日 10:11:32820浏览

数据库操作的链式调用

插入:

  1. //insert方法
  2. public function insert()
  3. {
  4. $sql = 'INSERT ' . $this->table. ' SET ';
  5. $sql .= $this->opts['value'] ?? null;
  6. echo $sql;
  7. $stmt = $this->db->prepare($sql);
  8. $stmt->execute();
  9. return $stmt->fetchAll(PDO::FETCH_ASSOC);
  10. }
  11. //value方法
  12. public function value(array $value=[]){
  13. $str = '';
  14. if (count($value) > 0) {
  15. foreach ($value as $k => $v) {
  16. $str .= $k . "='" . $v . "',";
  17. }
  18. //去掉最后一个","
  19. $str = substr($str, 0, strlen($str) - 1);
  20. $this->opts['value'] = " $str";
  21. return $this;
  22. }

更新:

  1. //update方法
  2. public function update()
  3. {
  4. $sql = 'UPDATE ' . $this->table. ' SET ';
  5. $sql .= $this->opts['value'] ?? null;
  6. $sql .= $this->opts['where'] ?? null;
  7. echo $sql;
  8. $stmt = $this->db->prepare($sql);
  9. $stmt->execute();
  10. return $stmt->fetchAll(PDO::FETCH_ASSOC);
  11. }

删除:

  1. //delete方法
  2. public function delete()
  3. {
  4. $sql = 'DELETE FROM ' . $this->table;
  5. $sql .= $this->opts['where'] ?? null;
  6. echo $sql;
  7. $stmt = $this->db->prepare($sql);
  8. $stmt->execute();
  9. return $stmt->fetchAll(PDO::FETCH_ASSOC);
  10. }

总结:

这是学习框架底层逻辑最重要的内容之一,也是比较难理解的,通过简单的sql语句拼接实现更新、删除、插入操作,还没有使用sql预处理防注入,有时间再出来吧!

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