Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46152
  • 博文数量: 1
  • 博客积分: 39
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-08 21:53
文章分类
文章存档

2012年(1)

我的朋友
最近访客

分类: Python/Ruby

2012-01-11 17:27:32

出错部分代码如下:


$where = new CDbCriteria();
$where->addInCondition('groupid',array(0,1,2,3,4));
$where->addCondition('posttime < :time ');
$where->addCondition('posttime > :endTime');
$where->params = array(':time'=>$time , ':endTime'=>$endTime) ;
$where->limit = $limit;
$where->offset = $offset;
$where->order = 'posttime desc';
return $this->findAll($where);

总是弹出来如下的错误信息:
Invalid parameter number: number of bound variables does not match number of tokens.
提示找不到参数,或者参数个数不足。
究其根源发现是因为在使用params语句赋值的时候,将其自身原有的参数给覆盖掉了,所以他自身的参数就找不到了。
解决办法如下:


//调用array_merge函数而不是单纯的赋值语句
$where->params =array_merge( array(':time'=>$time , ':endTime'=>$endTime) );

阅读(2339) | 评论(1) | 转发(2) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~

小尾巴鱼1211212012-01-12 22:01:15

调用array_merge函数而不是单纯的赋值语句