分页上限使用PDO的数组

时间:2016-06-17 03:29:37

标签: php mysql pdo

我是PDO的新人,现在我正面对这个

  

未捕获错误:不支持的操作数类型

在mysql_(旧方式)中,它可以正常设置为使用行划分限制,但它不能与PDO一起使用,

这是旧方式

限制是4从0开始,数据库是100以上计数,逻辑就好了

$query=mysql_query("SELECT * FROM `articles` LIMIT $start, $limit");
$rows=mysql_num_rows(mysql_query("SELECT * FROM `articles`"));
$total=ceil($rows/$limit);

和PDO(他们说的新方式)

$query=$db -> query("SELECT * FROM `articles` LIMIT $start, $limit");
$rows=$query->fetch(PDO::FETCH_ASSOC);
$total=ceil($rows/$limit);

我得到错误消息,任何线索?

1 个答案:

答案 0 :(得分:-1)

在mysql_示例中,您显式地获取查询的行数。

在PDO实现中,您只从查询返回的结果集中获取一个结果。你可以这样做:

$query = $db->query("SELECT * FROM `articles` LIMIT $start, $limit");
$rows = $query->fetchAll(PDO::FETCH_ASSOC);
$total = ceil(count($rows)/$limit);

编辑:如果它只是关于计算行数,你应该在数据库中这样做。

$query = $db->query("SELECT count(*) AS rowcount FROM `articles` LIMIT $start, $limit");
$rows = $query->fetch(PDO::FETCH_ASSOC);
$total = ceil($rows['rowcount']/$limit);