我有一個PHP腳本,旨在從網站上抓取數據。該腳本每次發現一個新項目時都會檢查本地託管的mysql數據庫,以查看該項目是否已被下載並且已存在於Mysql數據庫中。如果它看到該項目已經存在於數據庫中,它應該忽略它並繼續前進。這是我用來做到這一點的代碼:PHP/MYSQL問題 - 查詢搜索失敗隨機
$result = mysql_query("SELECT * FROM web_media WHERE sourceForum LIKE '%$ForumtoGrab%' AND titleThreadNum=$threadTitleExists");
if((!mysql_num_rows($result)) && (mysql_num_rows($result) !== FALSE))
{}
換句話說,如果它的結果爲零,那麼該項目被認爲是新的。這個腳本在我的舊託管公司工作了好幾個月。我最近搬到了一家新的託管服務提供商,我突然遇到了一個很奇怪的問題。每12個小時左右,表達式似乎會隨機失敗,腳本會發現一堆已經存在於mysql數據庫中的「新」數據。我試過手動運行查詢,並且代碼似乎沒有問題找到預先存在的條目沒有問題。
有沒有人有任何想法這裏發生了什麼?我已經與託管服務提供商覈對過了,他們說我們中斷的Mysql連接數量非常少,並且沒有什麼可擔心的......所以它看起來不像是MySQL本身的問題。我懷疑這可能是與MySQL查詢問題?
謝謝
$ threadTitleExists變化如此,這可能包含無效的查詢數據。嘗試:'if(($ result)&&(mysql_num_rows($ result)> 0))由於$結果可能不是一個有效的資源 - 所以你會做'mysql_num_rows(false)' – Waygood