Php 如何使用当前日期获取codeigniter上的数据?
这是我在这里的第一个问题,所以要友善:) 我试图根据当前日期使用Codeigniter和MySQL显示数据 下面是我的模型函数 当我使用这种格式时,它可以工作:Php 如何使用当前日期获取codeigniter上的数据?,php,mysql,codeigniter,Php,Mysql,Codeigniter,这是我在这里的第一个问题,所以要友善:) 我试图根据当前日期使用Codeigniter和MySQL显示数据 下面是我的模型函数 当我使用这种格式时,它可以工作: 公共函数get_tables(){ $this->db->where('date','2020-04-07'); $this->db->order_by('time','ASC'); $query=$this->db->get('tables'); 返回$query->result(); } 但是当我尝试使用CURDATE()函数时,
公共函数get_tables(){
$this->db->where('date','2020-04-07');
$this->db->order_by('time','ASC');
$query=$this->db->get('tables');
返回$query->result();
}
但是当我尝试使用CURDATE()
函数时,它在这一行显示了一个错误
公共函数get_tables(){
$this->db->where(日期格式('date','yyyyy-MM-DD'),'CURDATE()',TRUE);
$this->db->order_by('time','ASC');
$query=$this->db->get('tables');
返回$query->result();
}
我很高兴听到它为什么不起作用,欢迎提出任何改进建议。您的
日期格式
呼叫错误。第一个参数必须是实际日期。不是字符串“date”。我认为你把PHP和MySQL混合在一起了
通过使用date\u format
作为第二个参数,您可以使用PHP创建当前日期的字符串,并将其交给MySQL
公共函数get_tables(){
$this->db->where('date',date_格式(new DateTime(),'YYYY-MM-DD');
$this->db->order_by('time','ASC');
$query=$this->db->get('tables');
返回$query->result();
}
CURDATE()
是一个MySQL函数,我认为不可能将原始MySQL提供给where()
编辑:Dum回答了这个问题。可以将CURDATE()
与Codeigniter一起使用:
公共函数get_tables(){
$this->db->where('date','CURDATE()`,false);
$this->db->order_by('time','ASC');
$query=$this->db->get('tables');
返回$query->result();
}
您的日期格式
呼叫错误。第一个参数必须是实际日期。不是字符串“date”。我认为你把PHP和MySQL混合在一起了
通过使用date\u format
作为第二个参数,您可以使用PHP创建当前日期的字符串,并将其交给MySQL
公共函数get_tables(){
$this->db->where('date',date_格式(new DateTime(),'YYYY-MM-DD');
$this->db->order_by('time','ASC');
$query=$this->db->get('tables');
返回$query->result();
}
CURDATE()
是一个MySQL函数,我认为不可能将原始MySQL提供给where()
编辑:Dum回答了这个问题。可以将CURDATE()
与Codeigniter一起使用:
公共函数get_tables(){
$this->db->where('date','CURDATE()`,false);
$this->db->order_by('time','ASC');
$query=$this->db->get('tables');
返回$query->result();
}
使用日期()函数
使用date()函数
从
$this->db->where()接受可选的第三个参数。若您将其设置为FALSE,CodeIgniter将不会尝试保护您的字段或表名
所以,你应该使用
$this->db->where(date_format(new DateTime(),"YYYY-MM-DD"),'CURDATE()', FALSE);
从
$this->db->where()接受可选的第三个参数。若您将其设置为FALSE,CodeIgniter将不会尝试保护您的字段或表名
所以,你应该使用
$this->db->where(date_format(new DateTime(),"YYYY-MM-DD"),'CURDATE()', FALSE);
谢谢大家,我把你们所有的答案和这个答案结合起来: 成功了 发布基于当前日期显示数据库数据的my Model函数的最新版本: 公共函数get_tables() { 返回$query->result_array()
}谢谢大家,我把你们所有的答案和这个答案结合起来: 成功了 发布基于当前日期显示数据库数据的my Model函数的最新版本: 公共函数get_tables() { 返回$query->result_array()
}这是否回答了您的问题?这回答了你的问题吗?
$this->db->where('date =','DATE(CURDATE())',FALSE);
$this->db->order_by('time', 'ASC');
$query=$this->db->get('tables');