我是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);
我得到错误消息,任何线索?
答案 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);