繁体   English   中英

MySQL COUNT提供不同的结果

[英]MySQL COUNT Giving DIfferent Results

如果我在PHP中使用它来计数记录,则实际上没有记录时,它的计数为1。 但是,当我在HeidiSQL,phpmyadmin或其他任何数据库中运行相同的查询时,它给出正确的0。为什么会有差异?

if ($result = $mysqli->query($Query)) :
    return $result->num_rows;
    $MySQLError = ($mysqli->connect_errno) ? mysqli_error($mysqli) : "";
    $result->close();
    $mysqli->close();
    if ($MySQLError) return $MySQLError;
endif;

在这种情况下,$ Query包含:

SELECT COUNT(ID) AS UpdateCount 
FROM tablename 
WHERE ShowPage = 1 AND 
DateUpdated BETWEEN 1554345942 AND 1554950742

在做其他事情时,这个问题的答案突然打了我,现在看来,这很明显。 我在查询中使用COUNT(ID) ,但在编程中也使用$ result-> num_rows 只需删除COUNT(ID)就可以了。

SELECT ID 
FROM tablename 
WHERE ShowPage = 1 AND 
DateUpdated BETWEEN 1554345942 AND 1554950742

如果尚未提交另一个数据库会话,则可能会发生此问题。 确保没有其他尚未提交的数据库会话可以解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM