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