错误:date() 期望参数 2 很长,给定字符串
Posted
技术标签:
【中文标题】错误:date() 期望参数 2 很长,给定字符串【英文标题】:Error: date() expects parameter 2 to be long, string given 【发布时间】:2014-03-27 05:39:37 【问题描述】:我收到以下代码错误。 请有人帮我解决它。
型号
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
【问题讨论】:
什么是“天”? db 表中的列? 是的,day 是 rdv 表 ex 数据中的一列:2012-02-15 09:41:35 【参考方案1】:$this->db->where('DATE(day)', $datee);
上面的代码解决了我的问题。 Ramesh 的出色解决方案。
【讨论】:
【参考方案2】:由于'day'是mysql表中的一列,试试
$this->db->where('DATE(day)', $datee);
【讨论】:
完美运行。非常感谢:)【参考方案3】:如果您查看文档right here,您会看到日期函数需要时间戳作为第二个参数——它根本不知道如何处理您传入的字符串'day'
(date('Y-m-d' , 'day')
) .如果你只想要当前时间,请忽略第二个参数。
【讨论】:
rdv 表中的 day 字段包含 2012-02-15 09:41:35 等值 您要在哪个日期获得结果?$datee
中的那个?
我在 $datee 有一个输入日期。需要使用它从 rdv 表中获取数据。为此,我正在考虑使用 $datee(date) 在 rdv 表中使用条件 tyo 检查日期字段(datetime)。明白了吗?【参考方案4】:
试试这个:
$this->db->where(date('Y-m-d' , strtotime('day')), $datee);
并参考这个Warning: date() expects parameter 2 to be long, string given in
【讨论】:
rdv 表中的day字段保存日期和时间的值,ex data : 2012-02-15 09:41:35以上是关于错误:date() 期望参数 2 很长,给定字符串的主要内容,如果未能解决你的问题,请参考以下文章
preg_match() 期望参数 2 是字符串,数组给定错误
PHP - ini_set() 期望参数 2 是字符串,给定整数
htmlspecialchars() 期望参数 1 是字符串,给定对象 - laravel
ErrorException (E_ERROR) rawurlencode() 期望参数 1 是字符串,给定对象