我有以下代碼用於從站點提取數據並將其放入sql數據庫。它停止在217個條目,但有619個不同的頁面。無論我是否回顯屏幕或將其存儲在數據庫中,它都會失敗。沒有錯誤信息。file_get_contents停止在217個條目
任何想法爲什麼?
for($i = 1; $i <= 619; $i++) {
$str = file_get_contents('http://fantasy.mlssoccer.com/web/api/elements/'.$i.'/');
$jsonarray = json_decode($str, true);
//get row data and store in variables
$id = $jsonarray['id'];
$name = addslashes($jsonarray['web_name']);
$team = $jsonarray['team_name'];
$pos = $jsonarray['type_name'];
$flag = $jsonarray['status'];
$cost = ($jsonarray['now_cost']/10);
$ownedby = $jsonarray['selected'];
$balance = $jsonarray['transfers_balance'];
$playerupdate = mysql_query("
INSERT INTO playerprices (id, name, team, pos, flag, cost, ownedby, balance)
VALUES ('$id', '$name', '$team', '$pos', '$flag', '$cost', '$ownedby', '$balance')
ON DUPLICATE KEY UPDATE flag = '$flag', cost = '$cost', ownedby = '$ownedby', balance = '$balance'")
or die (mysql_error());
}
當我回聲僅216-220頁中的變量,他們都做工精細,所以我不認爲這是與這些頁面上的數據做。沒有我能看到的特殊字符。
劇本超時?嘗試在200美元開始$ i,看看會發生什麼 – Oli 2013-03-05 22:57:21
@oli有它的權利我敢打賭。查看[set_time_limit](http://php.net/manual/en/function.set-time-limit.php),並希望您的主機允許您更改它。 – mkaatman 2013-03-05 22:58:30
或者,從命令行(PHP CLI)運行它。超時限制不適用於命令行腳本 – xbonez 2013-03-05 22:59:26