Php 更新方法在codeigniter中不起作用
我在通过codeigniter更新方法更新数据库中的字段时遇到问题 我的控制器:Php 更新方法在codeigniter中不起作用,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在通过codeigniter更新方法更新数据库中的字段时遇到问题 我的控制器: $database = array( 'last_location' => $url[5]."-".$url[6], 'last_date_location' => $url[3]." ".$url[4], ); $user = $this->API_model->get_user($url[0]); pri
$database = array(
'last_location' => $url[5]."-".$url[6],
'last_date_location' => $url[3]." ".$url[4],
);
$user = $this->API_model->get_user($url[0]);
print_r($user);
if ($this->db->update('user', $database , $user['id']) === true) {
print_r($database);
echo "MEI_TRUE";
}else {
echo "MEI_FALSE";
}
浏览器返回MEI_TRUE
表示数据库已成功更新,但当我在phpmyadmin中检查数据库时,未发生任何更改:(
有什么问题吗?你能试试下面的方法吗
$database = array(
'last_location' => $url[5]."-".$url[6],
'last_date_location' => $url[3]." ".$url[4],
);
$this->db->where('id', $user['id']);
$this->db->update('user', $database );
希望这将帮助您它现在应该可以工作了
$database = array(
'last_location' => $url[5]."-".$url[6],
'last_date_location' => $url[3]." ".$url[4],
);
$user = $this->API_model->get_user($url[0]);
print_r($user);
$query = $this->db->where('id',$user['id'])
->update('user', $database);
if ($query) {
print_r($database);
echo "MEI_TRUE";
}else {
echo "MEI_FALSE";
}
问题是-你想更新什么? update查询的第三个参数允许您将where子句作为字符串启用 尽管您的示例非常危险,但请尝试以下方法
if ($this->db->update('user', $database , "id = ".$user['id']) === true)
{
print_r($database);
echo "MEI_TRUE";
}
else
{
echo "MEI_FALSE";
}
更好的方法是(正如达尼什已经提到的):
有关更多信息,请阅读文档
$blnUpdateSuccess = $this->db->where("id", $user['id'])->update("user",$database);
if ($blnUpdateSuccess)
{
print_r($database);
echo "MEI_TRUE";
}
else
{
echo "MEI_FALSE";
}