为什么我不能在数据库中插入带有文本'insert'的表单中的数据?

时间:2011-12-03 15:08:13

标签: php mysql database codeigniter

我尝试使用文本保存/更新数据“...这意味着您可以插入关键字到页面标题中......”它显示500内部服务器错误,当我在上面的文本中没有“插入”单词保存时,它可以轻松保存在数据库中。当我使用字段中的更新删除等保留字在数据库中添加/更新时,会发生同样的情况。错误是由于mysql的保留字,是不是有任何方法可以摆脱它?

我正在使用CodeIgniter,代码更新上面的文字是:

function update_template($id,$newtext,$newcomptext)

    {       
            $data=array(
            'option_value'=>$newtext,
            'competitive_value'=>$newcomptext
            );
            $this->db->where('id', $id);
            $this->db->update('report_texts', $data); 

            return 'Successfully Updated';


    }

我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您写入数据库的文本中的“INSERT”一词可能会导致SQL错误(INSERT通常是SQL实现中的保留字)。

在任何情况下,CI框架都会说:“哦,我们有问题。我应该返回500错误消息”,因为它从数据库中返回错误。

修改

$ this-> db-> escape()函数对此没有帮助,因为$ this-> db-> query()已经转义了你的值。