Php 空白表返回mysql\u num\u行($result)=1

Php 空白表返回mysql\u num\u行($result)=1,php,mysql,Php,Mysql,我的问题是 $result=SELECT MAX(surveyID) as surveyID FROM `sg_count`WHERE userID=$user 其中sg_计数表没有记录 但是mysql_num_rows$result返回1。聚合函数(如max和count)将返回一行,而不包含分组子句,这是它们的本质 举例来说,空表上的count*将为您提供一行值为0的数据 我怀疑,尽管我还没有尝试过,但您将在查询中得到一行空值。我用过的其他DBs都是这样处理的。假设指定的列为非NULL,

我的问题是

 $result=SELECT MAX(surveyID) as surveyID  FROM `sg_count`WHERE userID=$user
其中sg_计数表没有记录


但是mysql_num_rows$result返回1。

聚合函数(如max和count)将返回一行,而不包含分组子句,这是它们的本质

举例来说,空表上的count*将为您提供一行值为0的数据

我怀疑,尽管我还没有尝试过,但您将在查询中得到一行空值。我用过的其他DBs都是这样处理的。假设指定的列为非NULL,则可以使用该返回值检测无行情况。即使它允许空值,这可能仍然是可行的,这取决于您在这种情况下想要做什么

否则,您最好也使用以下方法检查计数:

select   count(*) as quant,
         max(surveyID) as surveyID
from     sg_count
where    userID = 'somebody'

然后,如果quant为零,您知道没有行。如果它不是零,则有行,surveyID的最大值在另一列中。

是,这是非常正确的。选择该记录时,将产生一行:

+----------+
| surveyID |
+----------+
| NULL     |
+----------+

$count = $query->num_rows; // 1
$results = $query->fetch_assoc();
echo $results['surveyID']; // NULL

在打开文件后立即将错误报告添加到文件顶部,不客气。您发现问题了吗?发布导致报告问题的语法有效代码。这不是正在尝试的。@Arif_suhail_123很难说OP想要做什么。给出一行代码,没有解释,这是任何人的猜测。你需要向我们展示更多的代码,让我们知道你想要得到什么结果。你的问题不清楚。更新你的问题。查询没有失败,所以OP想用它做什么,这是任何人的猜测。但这是正确的。