後「MySQL服務器已經走了」我在設計來顯示/電子郵件用戶保存的搜索信息查詢2個表:用戶&的心願。幾分鐘
搜索信息包含書名以及其他內容。
我有第一個查詢,旨在把所有在wishlist表中有記錄的用戶放入數組中。
然後使用foreach循環,通過第二次查詢,取每本書的書名,並運行在不同的網站搜索並保存信息屏幕或電子郵件。
通過需要大約3分鐘,第一個用戶的信息,第一次運行進行組裝,然而,顯示此信息後,我看到了可怕的「MySQL服務器已經走了。」
根據http://dev.mysql.com/doc/refman/5.0/en/gone-away.html - 這不應該這麼快就發生了。
對於所述第二查詢的代碼很簡單:信息被編譯爲該用戶
SELECT * FROM wishlist WHERE uid = " . $sendtouser . " ORDER BY wishid
後,我下面以關閉循環,並結束連接。
} while ($row_rsWishDetails = mysql_fetch_assoc($rsWishDetails));
mysql_free_result($rsWishDetails);
我已經試過我已在網頁上,包括髮現了一些其他建議:
ini_set('max_execution_time', 22222);
ini_set('mysql.connect_timeout', 500);
ini_set('default_socket_timeout', 600);
但沒有什麼是解決了這個問題。
任何想法?
非常感謝。
感謝您的迴應:)但5分鐘真的「長時間運行」?事實上,查詢本身並不需要很長時間,事實上查詢必須暫停,而信息正在從網絡編譯之後才能繼續。我想在每個用戶的最後添加一個「睡眠(3)」,但它沒有做任何事情。 – Aethon 2012-07-11 01:23:18
不幸的是,我們租用空間的服務器沒有安裝mysqli。 – Aethon 2012-07-11 01:50:26
這使我平安。我什麼時候運行?查詢之前?這是否意味着在每個循環之前,ping會再次運行?或者它會在查詢開始之前運行一次ping? – Aethon 2012-07-11 01:51:36