代码之家  ›  专栏  ›  技术社区  ›  Codecraker

无法删除codeigniter中的行

  •  0
  • Codecraker  · 技术社区  · 6 年前

    timing CodeIgniter中的日期小于当前日期,则应自动删除行。 doctor . 田野里到处都是 id(int) , crated_at(timestamp) timings(varchar) , name(varchar) .

    我习惯于把时间插进去 mm/dd/yyyy 格式。我想当日期小于当前日期时,则应自动删除行。

    public function delete_book(){
        $date  = date("m/d/Y");
        $this->db->where("timings < (".$date." - INTERVAL 1 DAY)");
        $this->db->delete("doctors");
    
    }
    

    请告诉我代码的错误

    4 回复  |  直到 6 年前
        1
  •  1
  •   Motilal Soni    6 年前

    用这个

    $this->db->where("timings < DATE_SUB(curdate(), INTERVAL 1 DAY)",NULL,FALSE);
    $this->db->delete("doctors");
    
        2
  •  0
  •   Gufran Hasan    6 年前

    你应该使用 NOW() 现在() 返回系统的日期,并且与MySql查询兼容。

    public function delete_book(){
        //$date  = date("m/d/Y");
        $this->db->where("timings < (NOW() - INTERVAL 1 DAY)");
        $this->db->delete("doctors");
    
    }
    
        3
  •  0
  •   Mhrishad    6 年前

    将工作可能使用

    $this->db->where('timings BETWEEN NOW() - INTERVAL 1 DAY AND NOW()', "", false);
    $this->db->delete("doctors");
    

    希望一切顺利。

        4
  •  -1
  •   Rajeev Ranjan    6 年前

    你可以用 DATE_SUB 功能

    public function delete_book(){
        $this->db->where("timings < DATE_SUB(curdate(), INTERVAL 1 DAY)");
        $this->db->delete("doctors");
    
    }
    

    DELETE FROM `doctors` WHERE `timings` < DATE_SUB(curdate(), INTERVAL 1 DAY)