2011-12-24 97 views
1

我需要將Facebook信息保存到MySQL表中。我使用PHP SDK從用戶獲取數據。當我得到數據時,這些數據都在關聯數組中。我需要解析這個數組到MySQL數據庫。將Facebook信息保存到Mysql

<?php 
require '/src/facebook.php'; 

$dbname = ''; 
$dbpass = ''; 
$dbuser = ''; 
$dbhost = ''; 

$appId = ''; 
$secret = ''; 

mysql_connect($dbhost, $dbuser, $dbpass); 
mysql_select_db($dbname); 



$facebook = new Facebook(array(
    'appId' => $appId, 
    'secret' => $secret, 

)); 

$user = $facebook->getUser(); 
$access_token = 'fb_'.$appId.'_access_token'; 


if ($user) { 
    try { 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(
    array(
     'scope' => 'user_about_me,user_activities,user_birthday' 
    ) 
    ); 
} 

$sql_insert = "INSERT INTO users (user_id,username,access_token) VALUES ('$user_profile[id]','$user_profile[username]','$_SESSION[$access_token]')"; 
$sql_select = "SELECT user_id FROM users WHERE user_id='$user_profile[id]'"; 

$res = mysql_query($sql_select); 

if(!mysql_num_rows($res) > 0) { mysql_query($sql_insert); } 

?> 

這個過程中返回我

Array 
(
    [id] => 1088214852 
    [name] => User Name 
    [first_name] => User 
    [last_name] => Name 
    [link] => http://www.facebook.com/user.name 
    [username] => user.name 
    [birthday] => 24/12/2011 
    [hometown] => Array 
     (
      [id] => 107833015912178 
      [name] => NY 
     ) 

    [location] => Array 
     (
      [id] => 109589969066408 
      [name] => CA 
     ) 

這僅僅是該陣列的一部分。

感謝您的建議。 順便說一句:嫁給聖誕節和新年快樂。

+1

所以你想讓別人給你編碼解析器:)? – ScarletAmaranth 2011-12-24 14:12:45

+0

不,我需要幫助如何解析代碼;) – 2011-12-24 14:20:05

+0

這似乎是一個簡單的數據庫使用問題。 1)識別要捕獲的數據(內容的類型 - text/integer/boolean),2)構建數據庫,3)構建查詢/語句以與數據庫交互,4)構建包含這些語句的PHP,5),6, )利潤! – 2011-12-24 14:53:38

回答

1

不幸的是,你可能只能在你的數據庫中存儲有限的Facebook用戶信息。請閱讀您在註冊爲開發人員時同意的Facebook法律條款。如果您違反了該合同,Facebook將取消您的權限。