0

以下のコードを見るとわかるように、Facebook プロファイルから必要なすべての情報を取得して表示します。 アクセス トークン: ユーザー ID: 名前: Aneesh 名: 姓: メール: 性別: 誕生日: 場所: N タイム ゾーン:

しかし、プロフィール写真をSQLデータベースに保存できませんか?

<?php
require 'lib/db.php';
require 'lib/facebook.php';
require 'lib/fbconfig.php';
session_start();
$facebook=$_SESSION['facebook'];
$userdata=$_SESSION['userdata'];
$logoutUrl=$_SESSION['logout'];
$access_token_title='fb_'.$facebook_appid.'_access_token';
$access_token=$facebook[$access_token_title];


if(!empty($userdata))
{
echo '<h1>Login User Details</h1>';
echo '<img src="https://graph.facebook.com/'.$userdata['id'].'/picture">';

現時点では、上記のコードは画像を表示しています...しかし、保存方法が問題です。エラーを示したBLOBを使用しました

echo "<br/>";
echo '<b>Access Token: </b>'.$access_token;
echo "<br/>";
echo '<b>User ID: </b>'.$userdata['id'];
echo "<br/>";
echo  '<b>Name: </b>'.$userdata['name'];
echo "<br/>";
echo  '<b>First Name: </b>'.$userdata['first_name'];
echo "<br/>";
echo  '<b>Last Name: </b>'.$userdata['last_name'];
echo "<br/>";
echo  '<b>Email: </b>'.$userdata['email'];
echo "<br/>";
echo  '<b>Gender: </b>'.$userdata['gender'];
echo "<br/>";
echo  '<b>Birthday: </b>'.$userdata['birthday'];
echo "<br/>";
echo  '<b>Location: </b>'.$userdata['location']['name'];
echo "<br/>";
echo  '<b>Time Zone: </b>'.$userdata['timezone'];
echo "<br/>";
echo "<br/>";

$facebook_id=$userdata['id'];
$name=$userdata['name'];
$email=$userdata['email'];
$gender=$userdata['gender'];
$birthday=$userdata['birthday'];
$location=mysql_real_escape_string($userdata['location']['name']);
$hometown=mysql_real_escape_string($userdata['hometown']['name']);
$bio=mysql_real_escape_string($userdata['bio']);
$relationship=$userdata['relationship_status'];
$timezone=$userdata['timezone'];


$inserty = "INSERT INTO `users` (`facebook_id`, `name`, `email`, `gender`, `birthday`, `location`,`timezone`, `access_token`,`??????`) 
VALUES ('$facebook_id','$name','$email','$gender','$birthday','$location','$timezone','$access_token',`?????`)";
mysql_query($inserty, $connection);

??????? 画像の列を意味しました

echo "<br/>";

 echo '<a href="'.$logoutUrl.'">Logout Facebook</a>';
 echo '<a href="http://www.xxxxxx.co.uk/Mosaic/logout.php">Logout Facebook</a>';
 include('status_update.php');
 }
 else
 {
  header("Location: fblogin.php");
 }

 ?>
4

1 に答える 1

0

画像のURLではなく、画像自体のバイナリデータを保存しようとしているようです。理想的には、Facebook上で絶えず変化する画像/URLを保存しないでください。ユーザーによっては、毎日変わる場合があります!APIまたはFacebookIDを使用して、現在の画像を簡単に取得できます。

保存する必要がある場合は、画像自体ではなく、FacebookバージョンのURLを保存する必要があります。

それでも画像をDBに保存する場合は、BINARY代わりにタイプを使用してみてください。

于 2012-07-30T15:26:56.057 に答える