我无法在Codeigniter (PHP)中通过数组更新数据,
当premium_count
列减少到0时,我想更新或设置premium_id
和premium列为0
控制器功能:-
$premium_count = !empty($logged_user[0]->premium_count) ? $logged_user[0]->premium_count : '0';
if($premium_count == '0') {
$data = array(
'premium_count' => '0',
'premium_id' => '0',
'premium' => '0'
);
} else {
$data = array(
'premium_count' => $premium_count-1
);
}
$this->admin_model->updateData('users', $data, $this->session->userdata('userid'));
模型函数(sql查询) :-
public function updateData($table,$data,$id)
{
$this->db->where('id',$id);
$this->db->update($table,$data);
}
当premium_count
的值类似于1,2,3时,它可以工作。但当它减少到0时,它不会更新或将上面的列设置为0。
发布于 2018-07-23 13:49:57
请尝试删除0中的引号。我的意思是改变
if($premium_count == '0') {
$data = array(
'premium_count' => '0',
'premium_id' => '0',
'premium' => '0'
);
至
if($premium_count == 0) {
$data = array(
'premium_count' => 0,
'premium_id' => 0,
'premium' => 0
);
希望能有所帮助。
发布于 2018-07-23 14:11:02
替换此部分以将零作为整数而不是字符串
$premium_count = !empty($logged_user[0]->premium_count) ? $logged_user[0]->premium_count : 0; // <- remove '' over zero
然后像这样检查
if($premium_count == 0) { // <- remove '' over zero
$data = array(
'premium_count' => '0',
'premium_id' => '0',
'premium' => '0'
);
} else {
$data = array(
'premium_count' => $premium_count-1
);
}
https://stackoverflow.com/questions/51472212
复制相似问题