This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center。
6年前关闭。
我试图使用PDO计算从
我用
谢谢
然后使用
至于你的代码中的特殊错误-看起来只是一个愚蠢的错误。最有可能的情况是,您不是在回显$count_posts,而是在回显$rows(根据您提到的单词
好吧,在你写了答案之后,看到问题的关键部分被编辑总是令人惊奇的。
如果您有0作为计数-要么在所选类别下没有行,要么是其他类似于拼写错误的错误
无论如何,您不应该选择所有表数据以仅获取计数
6年前关闭。
我试图使用PDO计算从
SELECT
语句返回的行数。$stmt = $dbh->prepare("SELECT * FROM posts WHERE cat_id= ?");
$stmt->bindParam(1,$cat_id);
$stmt->execute();
$rows = $stmt->fetchAll();
$count_posts = count($rows);
return $count_posts;
我用
fetchAll()
然后count()
来计数,但它不起作用。当我回音时,它会回音。我以为数组是0
的,那么$rows
就是数组的计数?$count_posts
谢谢
最佳答案
此方法不应用于计算数据库中的行数。如果您以后需要使用所有这些行,并且只想先数数就可以了。但千万不要只用来计数。
一个人必须选择他们需要的数据,而不是别的。如果需要行计数-请选择行计数,
SELECT count(1) FROM posts WHERE cat_id= ?
然后使用
fetchColumn()
至于你的代码中的特殊错误-看起来只是一个愚蠢的错误。最有可能的情况是,您不是在回显$count_posts,而是在回显$rows(根据您提到的单词
Array
判断)。好吧,在你写了答案之后,看到问题的关键部分被编辑总是令人惊奇的。
如果您有0作为计数-要么在所选类别下没有行,要么是其他类似于拼写错误的错误
无论如何,您不应该选择所有表数据以仅获取计数