Php 在codeigniter中的两个日期之间提取数据时出错
我试图获取开始日期和结束日期之间的数据,但查询返回未知列错误。这是我的代码Php 在codeigniter中的两个日期之间提取数据时出错,php,mysql,codeigniter,Php,Mysql,Codeigniter,我试图获取开始日期和结束日期之间的数据,但查询返回未知列错误。这是我的代码 if($start_date != '' && $end_date != '' && $exp_type != '') { $this->db->where("tbl_expenses.created_date BETWEEN " . $start_date . " AND ". $end_date); [Error occur bcz of t
if($start_date != '' && $end_date != '' && $exp_type != '')
{
$this->db->where("tbl_expenses.created_date BETWEEN " . $start_date . " AND ". $end_date); [Error occur bcz of this line]
$this->db->where("tbl_expenses.expense_type",$exp_type);
$result = $this->db->get();
$data['searched_data'] = $result->result();
$this->load->view('admin/filter_result_view',$data);
}
错误是:
感谢所有人的帮助。如下更改错误行<代码>$start_date和
$end_date
应括在引号之间。在本例中,$this->db->get()
应该在get()
方法中包含
更新代码如下:
if($start_date != '' && $end_date != '' && $exp_type != '')
{
$this->db->where("(tbl_expenses.created_date BETWEEN '" . $start_date . "' AND '". $end_date . "')");
$this->db->where("tbl_expenses.expense_type",$exp_type);
$result = $this->db->get('tbl_expenses');
$data['searched_data'] = $result->result();
$this->load->view('admin/filter_result_view',$data);
}
更改错误行,如下所示<代码>$start_date和
$end_date
应括在引号之间。在本例中,$this->db->get()
应该在get()
方法中包含
更新代码如下:
if($start_date != '' && $end_date != '' && $exp_type != '')
{
$this->db->where("(tbl_expenses.created_date BETWEEN '" . $start_date . "' AND '". $end_date . "')");
$this->db->where("tbl_expenses.expense_type",$exp_type);
$result = $this->db->get('tbl_expenses');
$data['searched_data'] = $result->result();
$this->load->view('admin/filter_result_view',$data);
}
请尝试使用此行而不是错误行
$this->db->where(“tbl_expenses.created_date在$start_date和$end_date之间);请尝试使用此行而不是错误行
$this->db->where(“tbl\u expenses.created\u date在$start\u date和$end\u date之间) Sachin我改变了这一点,但现在它向我显示了这个错误:您的SQL语法有一个错误;查看与您的MariaDB服务器版本相对应的手册,了解在“WHERE
tbl_expenses
created_date
=”2017-01-04“和tbl_expenses
第2行的“expense_t”附近使用的正确语法,然后像这样告诉我<代码>$this->db->where(“('tbl_expenses.created_date介于'.$start_date.'和'.$end_date.'')之间”)代码>它生成了什么查询?这一个:[选择*WHEREtbl\u expenses
created\u date
='2017-01-04'和tbl\u expenses
expense\u type
='1']更改$result=$This->db->get()代码>到$result=$this->db->get(“”)
where是您正在获取数据机的表的名称,我更改了它,但现在它显示了这个错误:您的SQL语法有一个错误;查看与您的MariaDB服务器版本相对应的手册,了解在“WHEREtbl_expenses
created_date
=”2017-01-04“和tbl_expenses
第2行的“expense_t”附近使用的正确语法,然后像这样告诉我<代码>$this->db->where(“('tbl_expenses.created_date介于'.$start_date.'和'.$end_date.'')之间”)代码>它生成了什么查询?这一个:[选择*WHEREtbl\u expenses
created\u date
='2017-01-04'和tbl\u expenses
expense\u type
='1']更改$result=$This->db->get()代码>到$result=$this->db->get(“”)代码>其中是您获取数据的表的名称请检查您的输入格式,即开始日期和数据库字段日期格式请添加$this->db->from(“tbl_费用”);Vimal Kumar E在if语句i之前更改为所需格式,并且两种格式相同。请在数据库中更改datetime to date您将值作为日期格式传递,但在表中存储的值作为日期和时间请检查您的输入格式,即开始日期和数据库字段日期格式请添加$this->db->from(“tbl_费用”);Vimal Kumar E在if语句i之前更改为所需格式,并且两种格式相同。请在数据库中更改datetime to date。您将值作为日期格式传递,但在表中存储的值作为日期和时间