2011-12-24 13 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

+0

いいえ、私はどのようにコードパーサを助ける必要があります;) –

+0

これは、単純なデータベース使用の問題のようです。 1)取得するデータを識別する(コンテンツのタイプ - テキスト/整数/ブール値)、2)データベースを構築する、3)データベースと対話するためにクエリ/ステートメントを構築する、4)それらのステートメントを組み込んだPHPを構築する、5) )利益!!! –

答えて

1

残念ながら、限られたFacebookのユーザー情報をデータベースに保存することはできます。デベロッパーとして登録したときに同意したFacebookのAPIの法的規約をお読みください。その契約に違反した場合、Facebookはあなたの特権を引き出します。

関連する問題