Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不使用数据编码点火器更新表_Php_Codeigniter - Fatal编程技术网

Php 不使用数据编码点火器更新表

Php 不使用数据编码点火器更新表,php,codeigniter,Php,Codeigniter,当我取消选中我的所有复选框时,它将被选中并提交表单。应该清除与组id匹配的权限列。它不匹配。如果有一些$data['permissions']的话,它可以很好地更新,但是如果我取消全部选择并提交表单,就需要它来清除列 但是由于某种原因,permission=“”(isset($data['permission')?$this->db->escape(serialize($data['permission')):“”)。“将不起作用:“” 抛出错误。 您的SQL语法有错误;检查手册 对应于您的My

当我取消选中我的所有复选框时,它将被选中并提交表单。应该清除与组id匹配的权限列。它不匹配。如果有一些
$data['permissions']
的话,它可以很好地更新,但是如果我取消全部选择并提交表单,就需要它来清除列

但是由于某种原因,
permission=“”(isset($data['permission')?$this->db->escape(serialize($data['permission')):“”)。“
将不起作用
:“”

抛出错误。

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第5行的“WHERE user\u group\u id=”10“附近更新user\u group SET name ='display',permission=其中user\u group\u id='10'文件名:C:/Xampp/htdocs/codeigniter-3/application/modules/admin/models/user/model\u user\u group.php 电话号码:19

模型功能

public function editUserGroup($user_group_id, $data) {
    $this->db->query("UPDATE " . $this->db->dbprefix . "user_group 
        SET 
        name = " . $this->db->escape($data['name']) . ", 
        permission = " . (isset($data['permission']) ? $this->db->escape(serialize($data['permission'])) : '') . "
        WHERE user_group_id = '" . (int)$user_group_id . "'
    ");
}
public function editUserGroup($user_group_id, $data) {
    $this->db->query("UPDATE " . $this->db->dbprefix . "user_group 
        SET 
        name = " . $this->db->escape($data['name']) . ", 
        permission = " . (isset($data['permission']) ? $this->db->escape(serialize($data['permission'])) : "''") . "
        WHERE user_group_id = '" . (int)$user_group_id . "'
    ");
}
怎么了?

试试推杆

$this->db->last_query();

在函数的末尾,您可以检查执行了什么查询。

我已经解决了问题,我不得不使用转义引号
“'

模型

public function editUserGroup($user_group_id, $data) {
    $this->db->query("UPDATE " . $this->db->dbprefix . "user_group 
        SET 
        name = " . $this->db->escape($data['name']) . ", 
        permission = " . (isset($data['permission']) ? $this->db->escape(serialize($data['permission'])) : "''") . "
        WHERE user_group_id = '" . (int)$user_group_id . "'
    ");
}