我使用一个非常简单的代码来使用php codeigniter更新数据库。但是我无法更新
这是我的调用控制器的视图代码:
<input type="button" value="Approve" name="approve" id="approve" onclick="<?php echo base_url(); ?>inc/setStatusApprove/<?php echo $members['user_id']; ?>/<?php echo $members['user_company_id']; ?>">
这是我的控制器功能:
public function setStatusApprove($userid,$company_id){
$this->me->setStatusApprove($userid,$company_id);
}
这是我的模特功能:
function setStatusApprove($userid,$company_id){
$query="update user_profiles set user_profile_is_active = 1 where user_id=" .$userid . " and user_company_id =" . $company_id . " ";
$query = $this->db->query($query);
}
但它没有更新数据库。请帮忙。
答案 0 :(得分:2)
只需使用Active record
编写您的查询。活动记录是安全的,它将使您免于SQL注入
$this->db->set('user_profile_is_active', 1);
$this->db->where('user_id', $userid);
$this->db->where('user_company_id', $company_id);
$this->db->update('user_profiles');
您需要在onclick function
中将您的网址写为
form action
action="<?php echo base_url(); ?>inc/setStatusApprove/<?php echo $members['user_id']; ?>/<?php echo $members['user_company_id']; ?>"
答案 1 :(得分:0)
function setStatusApprove($userid,$company_id){
//echo $userid." ".$company_id;
// die;
$data = array(
'user_profile_is_active' => 1,
);
$this->db->where(array("user_id"=>$userid, "user_company_id"=>$company_id ));
$this->db->update('user_profiles', $data);
redirect("your home controller name");
}
在你的模型函数中替换上面的代码..首先检查你的模型函数,确定正确的参数值..如果函数geting正确的值..那么上面的代码将正常工作你想要的。试试吧..
答案 2 :(得分:0)
只需使用codeigniter活动记录即可。还要确保您在函数中获取参数,并尝试使用$this->db->last_query()
在函数末尾打印查询,如果这不起作用。
function setStatusApprove($userid,$company_id){
$this->db->where('user_id', $userid);
$this->db->where('company_id', $company_id);
return $this->db->update('user_profiles', array('user_profile_is_active' , 1);
}