我有以下查询及其在 MySQL 中的工作
SELECT * FROM usr_booking
WHERE shop_id ='1'
AND services_dates='2019-01-02'
AND (start_time BETWEEN '10:00' AND '11:00' OR end_time BETWEEN '10:00' AND '11:00');
但是,如果我以 Codeigniter 方式转换,则查询不起作用,如何在 Codeigniter 中编写此查询?
我尝试使用以下代码但显示“数据库错误”
$query=$this->db->query("SELECT * FROM usr_booking
WHERE shop_id ='1'
AND services_dates='2019-01-02'
AND (start_time BETWEEN '10:00' AND '11:00' OR end_time BETWEEN '10:00' AND '11:00')");
我哪里错了?提前致谢
你可以参考这个page关于 CI 查询生成器。
根据你的问题,你正在尝试将 MySQL 查询转换为 CI 查询生成器,对吗?让我们尝试一下,根据您的代码,您正在选择带有条件的数据,因此它看起来像这样:
$this->db->select("*");
$this->db->from("usr_booking ");
$this->db->where("shop_id",1);
$this->db->where("services_dates",'2019-01-02');
$this->db->where("start_time" >= '10:00');
$this->db->where("start_time" <= '11:00');
$this->db->or_where("end_time" >= '10:00');
$this->db->where("end_time" <= '11:00');
$query = $this->db->get();
return $query->result();
基本上,这将返回对象类型的数据。使用result_array()
如果你想将其转换为数组。
如果您遇到错误Database Error
检查你的数据库.php文件下应用程序/配置你必须设置你的默认数据库配置。您可以参考here.
NOTE: Don't forget to load your database as always or set it on
自动加载.php
让我看看是否有改善。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)