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