错误:date()期望参数2为long,给定字符串

时间:2014-02-25 06:52:11

标签: php mysql codeigniter model

我在跟踪代码时遇到错误。 亲切的帮助我解决它。

模型

function getappointmentlist($practicien , $datee) {
            $this->load->helper('date');
            $this->db->select('*');
            $this->db->from('rdv');
            $this->db->join('contact', 'contact.id = rdv.contact_id');
            $this->db->where('people_id',$practicien);
            $this->db->where(date('Y-m-d' , 'day'), $datee);
            $this->db->order_by('startTime', 'ASC'); 
            $query = $this->db->get();
            return $query;
        }

我收到以下错误: 遇到PHP错误

Severity: Warning

Message: date() expects parameter 2 to be long, string given

Filename: models/appointment.php

Line Number: 16

Input values :
$practicien = 18
$datee = 2013-05-13

PS:day是表rdv中的一个字段。日间领域的ex数据是:2012-02-15 09:41:35

4 个答案:

答案 0 :(得分:0)

试试这个:

$this->db->where(date('Y-m-d' , strtotime('day')), $datee);

并参考此Warning: date() expects parameter 2 to be long, string given in

答案 1 :(得分:0)

如果查看文档right here,您会看到日期函数需要将时间戳作为第二个参数 - 它根本不知道如何处理您传入的字符串'day'date('Y-m-d' , 'day'))。如果您只想要当前时间,请保留第二个参数。

答案 2 :(得分:0)

由于'day'是mysql表中的一列,请尝试

 $this->db->where('DATE(day)', $datee);

答案 3 :(得分:0)

$this->db->where('DATE(day)', $datee);

上面的代码解决了我的问题。 拉梅什的伟大解决方案。