我有以下查询和它在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中编写这个查询?我尝试使用以下代码,但显示"Database Error“
$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')");我哪里错了?提前感谢
发布于 2019-02-04 15:13:18
您可以参考有关配置项查询构建器的此page。
根据您的问题,您正在尝试将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()。
如果在application/config下检查database.php文件时出现错误,则必须设置默认数据库配置。你可以参考here.
备注: Don't forget to load your database as always or set it on Don't forget to load your database as always or set it on
让我看看有没有改善。
发布于 2019-02-04 16:01:12
在Codeigniter中编写您自己的自定义查询很容易,您可以尝试这样做。在模型中创建一个函数,如下所示
function customQuery()
{
$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')");
return $query->result_array();
}在控制器中加载这个模型,现在像这样从你的控制器中调用这个函数!
$this->customModel->customQuery();这将返回结果数组。谢谢
发布于 2019-02-05 14:02:59
在模型中,创建一个函数
function customData($str)
{
$query = $this->db->query($str);
return $query->result_array();
}在您的控制器中加载相同的模型并调用上面的方法
$querySTR = "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')";
$result = $this->model_name->customData($querySTR);
if($result){
//Write your code
} else {
echo 'Error Code: '.$this->db->_error_number().' -- Error Message: '.$this->db->_error_message();
}https://stackoverflow.com/questions/54511402
复制相似问题