【发布时间】:2016-12-19 19:07:09
【问题描述】:
function manage_user($startFrom = 0, $itemPerPage = 5)
{
$_userData = array();
$this->db->setAttribute(\PDO::ATTR_EMULATE_PREPARES, false);
$query = $this->db->prepare("SELECT * FROM `user_info` LIMIT ?, ? WHERE `user_info`.`status` = ? ");
$query->execute(array($startFrom,$itemPerPage,'active')) or die(print_r($query->errorInfo(), true));
$result = $query->fetchAll(\PDO::FETCH_ASSOC);
foreach ($result as $row) {
$_userData[] = $row;
}
return $_userData;
}
如果只使用限制,那么它工作正常。当使用 where 子句时,它会出错。
致命错误:在非对象上调用成员函数 execute()
在 $query->execute() 行
【问题讨论】:
-
Limit 遵循正常语法中的 where。 (SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT) 移动限制,使其位于 where 之后