Php 更新查询在mysql中抛出错误

Php 更新查询在mysql中抛出错误,php,mysql,codeigniter,mysqli,Php,Mysql,Codeigniter,Mysqli,我有一个名为“mostread”的表,有两列open_id(int)和read(int)。现在的问题是,如果“open\u id”已经存在于表中,那么我需要为每次单击更新“read”,否则我需要插入一个从控制器检索到的具有“open\u id”且read=1的新行。我在我的模型中使用了下面的代码,它正确地插入了一个新行,但是第二次单击它时抛出一个错误,如下所示 发生数据库错误 错误号:1064您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行“read=read+1”附近

我有一个名为“mostread”的表,有两列open_id(int)和read(int)。现在的问题是,如果“open\u id”已经存在于表中,那么我需要为每次单击更新“read”,否则我需要插入一个从控制器检索到的具有“open\u id”且read=1的新行。我在我的模型中使用了下面的代码,它正确地插入了一个新行,但是第二次单击它时抛出一个错误,如下所示

发生数据库错误

错误号:1064您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行“read=read+1”附近使用的正确语法,其中
open\u id
='193'

更新
mostread
SET read=read+1,其中
open\u id
=“193”

文件名:D:/Xampp/htdocs/opunletter/opunletter/application/models/Select.php

电话号码:52


尝试在
read
周围添加反勾号,这是mysql中保留的

$this->db->set('`read`', '`read` + 1', FALSE);

read
是一个保留字,用反勾将其换行为$this->db->set('reading','reading+1',FALSE);。。但这是增加它+2。2..4..6..8..10等等
$this->db->set('`read`', '`read` + 1', FALSE);