我有一個hughe數據庫,其中一些數據集鏈接到某些YouTube視頻。正如我們都知道一些youtube視頻從youtube過去一段時間後消失,這導致我的解決方案和我的問題 - >我想檢查是否youtube視頻仍然存在,只需通過JSON檢查,如果有數據檢索從視頻。如果不是,我會簡單地刪除那個特定的數據集。從Youtube API檢索while循環中的數據
所以我的解決方案的第一部分是要經過我的數據表的每一行,並檢查每個ID是否有數據從YouTube獲取如下面的代碼所示:
$result = $db->query("SELECT id, link FROM songs"); while($row = $result->fetch_assoc()) { $number = 1+$rown++; $id = $row['id']; $link = $row['link'];
$video_ID = $link;
$JSON = file_get_contents("https://gdata.youtube.com/feeds/api/videos/{$video_ID}?v=2&alt=json");
$JSON_Data = json_decode($JSON);
$views = $JSON_Data->{'entry'}->{'yt$statistics'}->{'viewCount'};
echo $number .' row<br />';
echo $link .' link<br />';
echo $views .' views<br /><br />';
}
此嘗試正常工作,並輸出我需要的數據。唯一的問題是,它只是從第一個150-190行獲得數據,就是這樣。現在我正在檢查一個解決方案,檢查每一行是否存在空的YouTube數據,這導致我有兩個具體問題:
1st)由於限制從單個查詢中檢索數據,您可能會對此負責嗎?
2)可能這是我的服務器問題,停止查詢後x秒(但我已經擴大了時間限制,把一條線set_time_limit(10000000);到我的PHP代碼,但沒有成功)?
希望你能幫忙,提前致謝。