簡體   English   中英

PHP MySQL 同一個查詢返回不同的行數

[英]PHP MySQL the same query returns different numbers of rows

我正在使用 php 和 mysql 插入數據庫中的 select 數據。 昨天我發現了一個新的“錯誤”,即:我在網站上使用了兩次相同的查詢——相同的查詢——但結果不同

當然,我不明白為什么結果不同。 甚至行數也不同。 只是為了幫助您想象我的錯誤,我正在使用一個類似的查詢:

$Query = $conn->query("SELECT * FROM `table` WHERE(ID='$id' AND isDeleted = FALSE) ORDER BY Date DESC");
$numRows = $Query->num_rows;

$numRows的值有時大於 0 ,有時大於0 重新加載頁面后,這些值是否相同。 我的意思是......一旦我重新加載頁面,它似乎是正確的,但之后當我再次重新加載頁面時,錯誤再次發生(或不發生)。

該站點也用於插入數據,方法是 - ajax 到 php。 對於插入數據,我使用$conn->prepare(); 和 $conn->execute();

感謝您的幫助!

嘗試打印您的查詢,看看 id 的值是否相同。

也許有一個包含文件或腳本正在改變 id 的值? 謝謝

找到了解決方案!

我當然會分享它,以防其他人遇到這個問題。 后來我發現我的上傳腳本的真正問題是:當您通過 PHP 插入數據表時,查詢可能會在檢查時返回真值(

如果($查詢->執行())

) 但在 sql 中,查詢被一一觸發,腳本為您返回 true,這是真的,但是當您 select 太快時,您可能無法獲得所有數據。

但是,如果您使用TRANSACTION ,則可以避免此問題,甚至插入更安全!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM