如果我在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
答案 0 :(得分:-1)
如果尚未提交另一个数据库会话,则可能会发生此问题。确保没有其他尚未提交的数据库会话可以解决此问题。
答案 1 :(得分:-1)
在进行其他工作时,这个问题的答案突然打动了我,现在看来,这很明显。我在查询中使用 COUNT(ID) ,但在编程中也使用了 $ result-> num_rows 。只需删除COUNT(ID)就可以了。
SELECT ID
FROM tablename
WHERE ShowPage = 1 AND
DateUpdated BETWEEN 1554345942 AND 1554950742