我正在使用codeIgniter..我想更新一个表列is_close
当id=$ticket_id
我的table= tbl_tickets.
我正在做这个:-
$data=array(
'is_close'=>1
);
$this->db->where('id',$title_id);
$this->db->update('tbl_tickets',$data);
我也这样做:-
$sql = "UPDATE tbl_tickets SET is_close={1} WHERE id='$title_id'";
$this->db->query($sql);
两者都不工作,即我的表没有将值更新为1,并且浏览器中也没有显示错误。:(
已编辑:包含我的模型零件:
function setClosePost($title_id){
$sql = "UPDATE tbl_tickets SET is_close=0 WHERE id='$title_id'";
$this->db->query($sql);
// $data=array(
// 'is_close'=>1
// );
// $this->db->where('id',$title_id);
// $this->db->update('tbl_tickets',$data);
}
我的控制器:-
function closePost(){
$this->load->model('helpdesk_model');
$this->helpdesk_model->setClosePost($this->input->post('title_id'));
}
6条答案
按热度按时间yv5phkfx1#
首先使用get方法检查
ticket_id
是否存在。另一件事是在模型中的函数中总是使用return,这样你就可以通过
if(function_name){...}else{...}
来检查它们那么如果您的get方法正确返回了数据,请尝试
模型方法
然后在你的控制器
guz6ccqo2#
首先,在通过之前检查
$title_id
:然后,在更新之前和之后尝试执行“选择具有此ID的行”。
然后,给予你的表格结构。
0sgqnhkj3#
就像这样
ibps3vxo4#
就像这样
u59ebvdq5#
若要处理此类错误,我的意思是如果数据库中未发生反射,则使用以下步骤解决此类错误。
1)使用**$this-〉db-〉last_query()**函数来打印查询,使用这个我们可以确保我们变量有正确的值(不应该是空的或未定义的),使用这个我们也可以确保SQL查询是否有效。
2)如果SQL查询是有效的,那么打开phpmyadmin并在phpmyadmin中执行相同的查询,如果查询列或表名无效,它将返回错误。
使用此方法,这是交叉检查SQL查询问题的最佳方法。
我希望它能起作用。
谢谢
lrpiutwd6#
您正在尝试更新整数(INT)类型值,只需交叉检查列数据类型,如果是varchar,则必须将值放在单引号或双引号中。
就像这个$data=数组('is_close'=〉'1');