0
我打電話通過php sdk的Facebook圖形API,當我通過幾個嵌套的foreach循環調用並遍歷數組時,它需要的時間比它甚至要長得多限制被調用記錄的數量。這裏是我的代碼:在遍歷Facebook圖形API結果和寫入MySQL數據庫中的滯後
foreach ($userfriends['data'] as $friends) {
foreach ($friends as $key => $value) {
if($key == "id"){
$friend_id = $value;
}
// API CALL PULL FRIEND LIKES
try {
$username = $key;
$uservar = '/'.$username.'/likes?fields=id,category&limit=20';
$userlikes = $facebook->api($uservar);
}
catch (FacebookApiException $e) {
error_log($e);
}
foreach ($userlikes['data'] as $likes) {
foreach ($likes as $key => $value) {
if($key == "id"){
$like_id = $value;
}
if($key == "category"){
$userlike_category_id = $value;
}
}
// WRITING FRIEND LIKES TO DATABASE
$sql="INSERT INTO likes (like_id, category, friend_id)
VALUES ('$like_id', '$userlike_category_id', '$friend_id');";
mysql_query($sql,$con);
}
}
}
請使用帶準備語句的mysqli(http://php.net/manual/en/mysqli.prepare.php),因爲即使數據來自可信來源,它仍然更好地逃避它並保持自己從SQL注入安全 – 2011-05-05 22:10:03
謝謝,我會補充說。任何想法,爲什麼這個腳本需要超過1分鐘運行?我不打電話或寫這麼多的數據。 – mhawk 2011-05-05 22:22:58