0

このチュートリアルに続いてhttp://www.skwebdesigner.com/?p=586 以下は私のfbconnect.phpコードからの抜粋です。

if($user){
    // Get logout URL
    $logoutUrl = $facebook->getLogoutUrl();
}else{
    // Get login URL
    $loginUrl = $facebook->getLoginUrl(array(
        'scope'         => 'read_stream, publish_stream, email, user_about_me',
        'redirect_uri'  => $site_url,
        ));
}

if($user){

    try{
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
    //Connecting to the database. You would need to make the required changes in the common.php file
    //In the common.php file you would need to add your Hostname, username, password and database name!
    mysqlc();

    $name = GetSQLValueString($user_profile['name'], "text");
    $email = GetSQLValueString($user_profile['email'], "text");
    $gender = GetSQLValueString($user_profile['gender'], "text");
    $bio = GetSQLValueString($user_profile['bio'], "text");
    $query = sprintf("SELECT * FROM newmember WHERE email = %s",$email);
    $res = mysql_query($query) or die('Query failed: ' . mysql_error() . "<br />\n$sql");
    if(mysql_num_rows($res) == 0)
    {
        $iquery = sprintf("INSERT INTO newmember values('',%s,%s,%s,%s,'yes')",$name,$email,$gender,$bio);
        $ires = mysql_query($iquery) or die('Query failed: ' . mysql_error() . "<br />\n$sql");
        $_SESSION['user'] = $user_profile['email'];
        $_SESSION['id'] = $user_profile['id'];
    }
    else
    {
        $row = mysql_fetch_array($res);
        $_SESSION['user'] = $row['email'];
        $_SESSION['id'] = $user_profile['id'];
    }
    }catch(FacebookApiException $e){
            error_log($e);
            $user = NULL;
        }

}
}
?>

データベースに正しく接続しますが、Facebook情報をすべてのフィールドに5として保存します。また、今日の初めにすべてのフィールドに1を節約していたことにも注意してください。

私が試したこと

$userを$user_profileに変更しました

ありがとう

4

1 に答える 1

0

挿入用の 'sprintf' で %s を引用符で囲む必要があることを確認してください。これは、$query を出力することで確認できます。

于 2013-03-05T04:34:06.543 に答える