我有一个PHP函数,它执行一个MySQL查询,并定义了一些变量。我需要SQL语句的BETWEEN
子句来处理变量,其中一个变量是DateTime()
函数。
这里的$start
变量应该创建一个新的时间,然后我在数据库中的值应该在这个时间和我定义的$finish
变量之间。
$start = new DateTime();
$finish = '2013-10-06 17:06:52';
$value = $this->GetOffset();
$this->db->select("esolar + $value AS Esolar", 1)
->from('calcdata')
->where('siteid', $siteid)
->where("time BETWEEN '$start' AND '$finish'")
->where('esolar <', 1000000)
->where('esolar <>', 0);
$query1 = $this->db->get()->result_array();
$Esolar1 = $query1[0]['Esolar'];
但是,当我这样做时,我会得到这个错误:
遇到PHP错误
严重程度:4096
消息:无法将DateTime类的对象转换为字符串
谢谢
最佳答案
你应该这样做:
$start=$start->格式('Y-m-d H:i:s');
否则将传递对象而不是字符串作为参数