[英]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.