Codeigniter where()方法与小于比较

问题描述 投票:0回答:5

我想像这样执行这个查询

UPDATE `eventinfo` SET `Status` = '0' WHERE `EventDatetime`< `2015-05-12 01:17:23`.

我尝试过像这样的不同方式

$whereClause = 'EventDatetime'.'<'.$check_date;
$this->db->where($whereClause);

但是我失败了。正确的方法是什么。

codeigniter activerecord where-clause comparison-operators
5个回答
2
投票

不同的方法来做到这一点:

$data = array( 'status' => '0',  );

$this->db->where('EventDatetime <', '2015-05-12 01:17:23');
$this->db->update('eventinfo', $data);

1
投票

使用 codeigniter 方式进行小于和大于

$this->db->set('Status',0);
$this->db->where('EventDatetime <', '2015-05-12 01:17:23');
$this->db->update('eventinfo');

0
投票

您需要以该格式对日期进行引号。

UPDATE `eventinfo` 
SET `Status` = '0' 
WHERE `EventDatetime`< '2015-05-12 01:17:23'
;

0
投票

这就是你可以做到的

$data = array( 'Status' => '0',  );

$this->db->where('EventDatetime <', '2015-05-12 01:17:23');
$this->db->update('eventinfo', $data);

注意:

注意'

EventDatetime
'和'
<
'之间的空格,如果没有空格,就会报错


0
投票

有很多方法可以做到这一点

$data = array( 'status' => '0',  );
$whereClass="eventdatetime < '2015-05-12 01:17:23'";
$this->db->where($whereClass,NULL,FALSE);
  //or $this->db->where('eventdatetime < ' ,'2015-05-12 01:17:23');
$this->db->update('eventinfo', $data);

如果仍然出现错误,那么一定是数据库错误,可能是缺少记录或其他原因

© www.soinside.com 2019 - 2024. All rights reserved.