问题描述
|
我真正想做的是创建一个可选文本以传递给codeigniter中的控制器方法。
目前我有这样的事情
public function manage($page = 1,$method = \'\',$id=0)
{
//code
}
因此,如果未传递参数,则分页将正常显示,如果已传递,则将在视图中设置一些变量以向用户提供一些反馈。
但是,当我尝试一下时,出现此错误:
http://domain.path/to/controller/method/1/test/1
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 \'\'1\',50\' at line 5
SELECT CONCAT(\'so_\',id,\'_am\'),value,updated,FROM words LIMIT \'1\',50
因此,由于某种原因,该段似乎被转换为字符串,这导致了错误。
关于如何解决此约束的任何想法?
解决方法
看起来您的查询生成器会自动在字符串周围添加引号。将$ page显式转换为int。
$page = \"4\";
$offset = \"4\";
$qb->setLimit((int)$page,(int)$offset)