用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2340|回复: 6
收起左侧

[已解决] 求助一个疑惑不解的问题

[复制链接]
发表于 2011-1-25 11:29:17 | 显示全部楼层 |阅读模式
错误提示:
A Database Error Occurred
Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'kill+1 WHERE `titleid` = '38'' at line 1

UPDATE `app2_title` SET `kill` = kill+1 WHERE `titleid` = '38'

另我疑惑的是digg和kill字段所有属性一样,操作方法一样,但digg可以成功,但kill提示以上错误。下面是出错代码:
$this->db->set('kill','kill+'.$grade,FALSE);//$grade已经给出值,没有问题。同样的$this->db->set('digg','digg+'.$grade,FALSE);却没有问题,求解!非常之困惑中~~~
发表于 2011-1-25 12:39:04 | 显示全部楼层
你试试这样呢$this->db->set('kill',"kill+$grade",FALSE);
 楼主| 发表于 2011-1-25 13:03:33 | 显示全部楼层
本帖最后由 testmyname 于 2011-1-25 13:04 编辑

回复 2# jeongee


      这样也不行
 楼主| 发表于 2011-1-25 14:11:21 | 显示全部楼层
本帖最后由 testmyname 于 2011-1-25 14:13 编辑

程序中 替换$this->db->set('kill',1);之后完全没有问题 看来就是出在这句的问题上 但是同样的问题没有出现在另一处使用digg的地方,是什么原因啊?程序是这样的,难道跟这个有关?:
PHP复制代码
 
switch($type)
{
case "digg":                           
    $this->db->set('digg','digg+'.$grade,FALSE);       
    break;
case "kill":
    $this->db->set('kill','kill+'.$grade,FALSE);
    break;                             
}
 
复制代码
发表于 2011-1-25 15:58:08 | 显示全部楼层
回复 4# testmyname


   实在不行就是自己写sql然后query吧
发表于 2011-1-25 16:15:55 | 显示全部楼层
kill是保留字,你要加上`kill`才行
 楼主| 发表于 2011-1-26 08:54:31 | 显示全部楼层
回复 6# haohailuo


    收得死嘎!非常感谢!正解!阴云散去~~~~~

本版积分规则