2012-02-10 6 views
0

私はmysqlテーブルにある5,000以上のビデオの詳細を更新しようとしていますが、しばらくしてからタイムアウトします。MySQLテーブルの更新時にYouTube動画メトリックスのタイムアウトをどのようにして終了するか

私は基本的にYouTubeのビデオコードを含むレコードをループし、YouTubeフィードAPIを使用して詳細を調べます。

私はそれをどうしてどのように修正できるのか誰でも説明できますか?私が何かアドバイスのために本当に感謝される

<?php 

$con = mysql_connect("hostname", "username", "pw"); 
if (!$con) 
    { 
    die('We could not connect you to our network at this moment. We apologise for the inconvenience please try again later'); 
    } 

mysql_select_db("sociallandscaper", $con); 

set_time_limit(0); 

$ccresult = mysql_query("SELECT vidcode FROM ytt"); 
while($row = mysql_fetch_array($ccresult)) { 
$c = $c +1; 

$vidcode = $row['vidcode']; 
$url = "http://gdata.youtube.com/feeds/api/videos?q={$vidcode}&v=2&alt=json"; 
$json_single_vid = file_get_contents($url); 
$json_single_vid_data = json_decode($json_single_vid); 
$likes = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'yt$rating'}->{'numLikes'}; 
$dislikes = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'yt$rating'}->{'numDislikes'}; 
$raters = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'gd$rating'}->{'numRaters'}; 
$fav = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'yt$statistics'}->{'favoriteCount'}; 
$average = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'gd$rating'}->{'average'}; 
$comments = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'gd$comments'}->{'gd$feedLink'}->{'countHint'}; 

$mSQL = "UPDATE ytt SET vidraters = '$raters',vidrating = '$average',vidlikes = '$likes',viddislikes = '$dislikes',vidcomments = '$comments',vidfavs = '$fav' WHERE vidcode = '$vidcode'"; 

mysql_query($mSQL); 

echo $c."<br/>"; 
    } 

    ?> 

- :

は、ここに私のコードです。

ジョナサン

+0

リクエスト後にmysqlに接続します。 – dynamic

答えて

0

おかげで小さな塊内のコードやプロセスをリファクタリング。これは、今すぐあなたの問題に対処するかもしれない何かを対比することができるという利点があります。また、私はmysqlへの接続が "タイムアウト"しているかどうかわからないと付け加えます。スクリプト全体? youtubeへの接続?

関連する問題