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

从mysql中选择时间戳范围在phpmyadmin中工作,但不在codeigniter中工作

  •  0
  • Damodar  · 技术社区  · 7 年前

    我已经阅读了这里发现的几乎所有问题,但没有找到解决问题的方法。

    问题是,我的查询在phpMyAdmin搜索中有效,但在codeigniter查询中不起作用。

    以下是phpMyAdmin的代码:

    SELECT * FROM `pozvani_brojevi` 
    WHERE `vrijeme_poziva` 
    BETWEEN '2018-04-05 00:00:00' AND '2018-04-26 00:00:00' 
    ORDER BY `vrijeme_poziva` DESC
    

    下面是codeigniter的代码,它不起作用:

    $this->db->select('*');
    $this->db->from('pozvani_brojevi');
    $this->db->where('user_id', $user_id);
    $this->db->where("'vrijeme_poziva', BETWEEN 2018-04-05 00:00:00 AND 2018-04-26 00:00:00");
    $result = $this->db->get();
    $pozvani = $result->result_array();
    return $pozvani;    
    

    请注意,我以各种方式更改了代码,并始终得到相同的结果

    $this->db->where("vrijeme_poziva, BETWEEN 2018-04-05 00:00:00 AND 2018-04-26 00:00:00");
    
    $this->db->where("vrijeme_poziva BETWEEN 2018-04-05 00:00:00 AND 2018-04-26 00:00:00");
    

    我收到以下错误消息:

    错误编号:1064

    您的SQL语法有错误;检查手册 与MySQL服务器版本相对应,以便使用正确的语法 近' 00:00:00 2018-04-26 00:00:00'四号线

    SELECT * FROM `pozvani_brojevi` WHERE `user_id` IS NULL AND `vrijeme_poziva` BETWEEN `2018-04-05` `00:00:00` AND 2018-04-26 00:00:00
    
    3 回复  |  直到 7 年前
        1
  •  1
  •   Devsi Odedra    7 年前

    第二个参数使用Null,第三个参数使用FALSE,如下所示:

    $this->db->where(' vrijeme_poziva BETWEEN 2018-04-05 00:00:00 AND 2018-04-26 00:00:00', NULL, FALSE);
    

    您可以使用的另一个选项 >= <= 分为两部分 where 条件如下:

    $this->db->where('vrijeme_poziva >=', '2018-04-05 00:00:00');
    $this->db->where('vrijeme_poziva <=', '2018-04-26 23:59:59');
    
        2
  •  0
  •   mk1024    7 年前

    您可以将查询方法用于sql查询,如-

    $query = $this->db->query("SELECT * FROM `pozvani_brojevi` WHERE `vrijeme_poziva` BETWEEN '2018-04-05 00:00:00' AND '2018-04-26 00:00:00' ORDER BY `vrijeme_poziva` DESC");
    

    有关更多信息,请参阅 https://www.codeigniter.com/userguide3/database/queries.html

        3
  •  0
  •   php_node    7 年前
    Hi you can use this query.
    
    $this->db->select('*');
    $this->db->from('pozvani_brojevi');
    $this->db->where('user_id', $user_id);
    $this->db->where('vrijeme_poziva >=', date('2018-04-05'));
    $this->db->where('vrijeme_poziva <=', date('2018-04-26'));
    $result = $this->db->get();
    $pozvani = $result->result_array();
    return $pozvani; 
    
    推荐文章