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

[HELP] 添加URL后缀后使用AR类的set()方法出错

[复制链接]
发表于 2009-11-26 06:44:57 | 显示全部楼层 |阅读模式
本帖最后由 乌有 于 2009-11-26 07:17 编辑

一控制器调用某model中的方法是实现查看一篇文章之后更新其查看次数.
代码如下
function addViews($id)
{
   $this->db->where('id',$id);
   $this->db->set('viewNums','viewNums+1',FALSE);
   $this->db->update('news');
}
没有添加URL后缀之前正常,添加URL后缀后错误信息如下
Error Number: 1292
Truncated incorrect DOUBLE value: '175_html'(175是文章的ID号)
估计是$this->db->set()方法没有处理后缀的关系吗?

又发现加了URL后缀,用redirect()方法跳转的页面也是无法显示的,404页面.
先睡了..明天再处理..哪位朋友有遇过解决掉的指导下.
发表于 2009-11-26 11:44:26 | 显示全部楼层
传进来的参数会把后缀也带上?这个还真没注意过。。。
如果是这样,就是个 BUG。
 楼主| 发表于 2009-11-26 14:13:57 | 显示全部楼层
$this->db->get()方法就没有上述问题.
发表于 2009-11-26 14:40:06 | 显示全部楼层
这和数据库没什么关系吧,看看 $id 是不是带后缀,应该不会带后缀吧。
 楼主| 发表于 2009-11-26 20:11:37 | 显示全部楼层
不知道是哪的事.我在控制器里获取的$id应该没有带后缀.代码大概如下的.
function show($id)
{
  $data['news'] = $this->Mod_news->getRec($id);
  $this->Mod_news->addViews($id);
  $this->load->view('news',$data);
}
把addViews这行注释掉是正常的.可以调用该$id的相关数据.
要不就出现上述问题,但如果取消URL后缀,全都正常.
发表于 2009-11-26 21:48:31 | 显示全部楼层
function addViews($id)
{
   echo $id;exit;
   $this->db->where('id',$id);

这个$id有问题
 楼主| 发表于 2009-11-27 15:18:40 | 显示全部楼层
获取的$id是有问题,不过就是不清楚,为什么会获取了带后缀的.

本版积分规则