codeigniter 生成的更新中的语法错误
Syntax error in update generated by codeigniter
我正在使用 codeigniter,并且有一个 sql 查询。我知道问题出在哪里,但不知道为它编写正确的查询。
我遇到这样的错误,
UPDATE `fx_tasks`
SET `timer_status` = 'On', `start_time` = 1444629730, `timer_started_by` = '46'
WHERE `t_id` = '3438'
ORDER BY `timer_status=On` DESC
我的 codeingiter 查询就像,
$this->db->set('timer_status', $action);
$this->db->set('start_time', time());
$this->db->set('timer_started_by', $this -> user);
$this->db->order_by("timer_status=On","DESC");
$this->db->where('t_id',$task)->update($this->tasks_table);
codeigniter 中的正确查询是什么?
update
语句没有 order by
子句。从您的 codeigniter 代码中删除它:
$this->db->set('timer_status', $action);
$this->db->set('start_time', time());
$this->db->set('timer_started_by', $this -> user);
$this->db->where('t_id',$task)->update($this->tasks_table);
// order by removed
你应该得到一个有效的更新语句:
UPDATE `fx_tasks`
SET `timer_status` = 'On',
`start_time` = 1444629730,
`timer_started_by` = '46'
WHERE `t_id` = '3438'
date_default_timezone_set('asia/kolkata')
$user = $this->user;
$data = array(
'timer_status' => $action,
'start_time' => date('H:i:s'),
'timer_started_by' => $user
);
$this->db->where('t_id', $task);
$this->db->update('fx_tasks', $data);
date('H:i:s')
return current time with provide time zone. If you need to print timestamp use date('Y-m-d H:i:s')
我正在使用 codeigniter,并且有一个 sql 查询。我知道问题出在哪里,但不知道为它编写正确的查询。 我遇到这样的错误,
UPDATE `fx_tasks`
SET `timer_status` = 'On', `start_time` = 1444629730, `timer_started_by` = '46'
WHERE `t_id` = '3438'
ORDER BY `timer_status=On` DESC
我的 codeingiter 查询就像,
$this->db->set('timer_status', $action);
$this->db->set('start_time', time());
$this->db->set('timer_started_by', $this -> user);
$this->db->order_by("timer_status=On","DESC");
$this->db->where('t_id',$task)->update($this->tasks_table);
codeigniter 中的正确查询是什么?
update
语句没有 order by
子句。从您的 codeigniter 代码中删除它:
$this->db->set('timer_status', $action);
$this->db->set('start_time', time());
$this->db->set('timer_started_by', $this -> user);
$this->db->where('t_id',$task)->update($this->tasks_table);
// order by removed
你应该得到一个有效的更新语句:
UPDATE `fx_tasks`
SET `timer_status` = 'On',
`start_time` = 1444629730,
`timer_started_by` = '46'
WHERE `t_id` = '3438'
date_default_timezone_set('asia/kolkata')
$user = $this->user;
$data = array(
'timer_status' => $action,
'start_time' => date('H:i:s'),
'timer_started_by' => $user
);
$this->db->where('t_id', $task);
$this->db->update('fx_tasks', $data);
date('H:i:s')
return current time with provide time zone. If you need to print timestamp usedate('Y-m-d H:i:s')