乌有 发表于 2009-11-26 06:44:57

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

本帖最后由 乌有 于 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页面.
先睡了..明天再处理..哪位朋友有遇过解决掉的指导下.

Hex 发表于 2009-11-26 11:44:26

传进来的参数会把后缀也带上?这个还真没注意过。。。
如果是这样,就是个 BUG。

乌有 发表于 2009-11-26 14:13:57

$this->db->get()方法就没有上述问题.

Hex 发表于 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后缀,全都正常.

visvoy 发表于 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是有问题,不过就是不清楚,为什么会获取了带后缀的.
页: [1]
查看完整版本: 添加URL后缀后使用AR类的set()方法出错