【发布时间】:2021-08-17 07:37:54
【问题描述】:
我正在使用 php 和 mysql 从数据库中插入和选择数据。昨天我发现了一个新的“错误”,即:我在网站上使用了两次相同的查询——相同的查询——但结果不同
当然我不明白为什么结果不同。甚至行数也不同。只是为了帮助您想象我的错误,我正在使用类似的查询:
$Query = $conn->query("SELECT * FROM `table` WHERE(ID='$id' AND isDeleted = FALSE) ORDER BY Date DESC");
$numRows = $Query->num_rows;
$numRows的值有时大于0,有时0。 重新加载页面后,这些值是否相同。我的意思是...一旦我重新加载页面,它似乎是正确的,但之后当我再次重新加载页面时,错误再次发生(或不发生)。
该站点也用于使用方法- ajax to php 插入数据。为了插入数据,我使用 $conn->prepare();和 $conn->execute();
感谢您的帮助!
【问题讨论】:
-
你如何确保 $id 每次都是相同的值?
-
注意:选择你也应该使用
$conn->prepare(); and $conn->execute();(因为SQL injection) -
这很简单。再看看这个。有一个查询 ($Query) 并且在页面上我写 echo $Query->num_rows ==> 返回 2 我正在写另一个 html 等等,页面末尾我再次写 $Query->num_rows == > 结果是 0 我没有更改查询
-
@Luuk 通过使用 prepare 和 execute 我可以将这些值作为相同的值。但是在向这个数据表插入新值后,我的网站会在 1500 毫秒后自动刷新。并且当页面刷新时,此解决方案无法正常工作。我的意思是我再插入 4 行并刷新并显示 1 或 0 个值。刷新页面后没问题,但我必须再次刷新页面。插入和选择之间是否有任何延迟或什么?
-
问题出在您没有显示的代码中。
标签: php mysql sql select insert