即使请求应返回0,SELECT COUNT(*)也返回1

时间:2016-09-19 14:46:49

标签: php sql count

当我尝试获取SQL请求的行数时,如果没有,则后续连接失败。 但无论如何(如果请求应该返回0),它返回1。 这是我的代码:

RestaurantTableViewController

我不明白为什么没有时间返回0

3 个答案:

答案 0 :(得分:3)

问题是使用php函数count()

您的$tab变量中已经有正确的数字作为字符串(可能取决于php配置/版本),因此您可以echo或将其转换为整数以确保它是一个数字。

然而,在php:

count(0) === 1
count('0') === 1

例如,请参阅here

您应该删除count($tab)

答案 1 :(得分:0)

SQL" COUNT(*)" allways返回一个带有count(quantity)值的行,所以如果你应用php count()函数,总是会返回1,因为有一行包含COUNT sql函数的值

答案 2 :(得分:-2)

id2 WRONG !! count(*)应该计算所有行,但我仍然建议使用像I believe COUNT() needs a column name.之类的列名。您还可以使用id让生活更轻松

AS