这是我在名为model
的{{1}} schedule_m
中的简单代码:
$query = $this->db->update('CUST_GATH',
array(
'new_email' => $data['new_email'],
'new_hp' => $data['new_hp']
),
array(
'name'=>$data['name'],
'hp'=>$data['hp'],
'email'=>$data['email']
)
);
return $query;
在MySQL
中,我只需执行以下操作即可查看更新查询的结果:
$result = $this->schedule_m->update('schedule', $data);
if($result == true)
但这在SQL Server中不起作用。 $result
始终是真的。
我该怎么办?
非常感谢你的帮助
更新
我尝试使用affected_rows
:
$this->db->update('CUST_GATH', array('send_to' => $data['send_to'],
'is_email' => 1), array('name'=>$data['name'], 'hp'=>$data['hp'], 'email'=>$data['email']));
if ($this->db->affected_rows() > 0)
{
return true;
}
else
{
return false;
}
但现在我的网络服务停止工作:Response does not contain any data.
这里有什么问题?
解决方法
我还没有解决这个问题,所以我的诀窍就是在之后执行SELECT 更新特定数据以检查数据是否更新。
答案 0 :(得分:1)
您可以使用affected_rows
输出尝试JSON
方法:
if($this->db->affected_rows())
{
return $this->output
->set_content_type('application/json')
->set_output(json_encode(array('OK')));
}
或
if($this->db->affected_rows())
{
return $this->output
->set_content_type('application/json')
->set_output(json_encode('OK'));
}
答案 1 :(得分:1)
您必须使用受影响的行数
$result = $this->schedule_m->update('schedule', $data);
if($this->db->affected_rows() > 0)
{
return TRUE;
}else{
return FALSE;
}