我想检查多少B> 0在我的表中。我的表看起来像这样:
+---A---+---B---+
| x | 0 |
| x | 0 |
| ... | ... |
-----------------
B栏很重要。如果没有行> 0然后我就不会运行另一个代码而只能回显文本。如果有一行B> 0,那么我需要知道。
到目前为止我试过这个,它给出了图片中显示的结果。我查了桌子,没错。
"SELECT COUNT(*) FROM table
WHERE B>0";
我试着用下面的代码检查0但是我给了我一个结果。可能是因为它计算了图片中的上一行。
$statement_count = $pdo->prepare($check);
$statement_count->execute();
$count = $statement_count->rowCount();
echo $count;
那么,我该怎么做呢?
答案 0 :(得分:1)
您不需要获取行数,您需要获取查询结果并解析它,然后读取" count(*)"
的值答案 1 :(得分:1)
如果你这样做:
$check = "SELECT B FROM table WHERE B>0"
$statement_count = $pdo->prepare($check);
$statement_count->execute();
$count = $statement_count->rowCount();
echo $count;
它将回显符合条件的行数。 如果你对执行SELECT COUNT的查询应用rowCount,它将按定义返回1,因为查询将始终返回一行
另一个选项是运行您拥有的计数查询
$check = "SELECT COUNT(*) FROM table WHERE B>0";
$statement_count = $pdo->prepare($check);
$statement_count->execute();
$count = $statement_count->fetchColumn();
echo $count;
答案 2 :(得分:1)
您的查询总是返回1行。您需要读取该行中的值。要从一行只读一列,您可以使用PDOStatement::fetchColumn
:
$count = $statement_count->fetchColumn();