17个字符的Facebook用户id使用Facebook php SDK v2.10以不同的值存储在MYSQL中
我在Facebook开发者文档中读到: 身份证 数字字符串 此人的用户帐户的id。此ID对于每个应用程序都是唯一的,不能跨不同的应用程序使用。我们的升级指南提供了有关特定于应用程序的ID的更多信息 核心17个字符的Facebook用户id使用Facebook php SDK v2.10以不同的值存储在MYSQL中,php,mysql,facebook,facebook-graph-api,Php,Mysql,Facebook,Facebook Graph Api,我在Facebook开发者文档中读到: 身份证 数字字符串 此人的用户帐户的id。此ID对于每个应用程序都是唯一的,不能跨不同的应用程序使用。我们的升级指南提供了有关特定于应用程序的ID的更多信息 核心 当我的用户返回我的网站并使用Facebook登录时,我无法识别他们。 有人有什么建议吗 提前感谢, Adam要将Facebook ID存储为数字,需要将字段设置为未签名的BIGINT 然而,现在Facebook将ID的数据类型列为,所以你应该使用字母数字类型来存储它,以避免将来破坏你的应用程序
当我的用户返回我的网站并使用Facebook登录时,我无法识别他们。 有人有什么建议吗 提前感谢,
Adam要将Facebook ID存储为数字,需要将字段设置为未签名的BIGINT
然而,现在Facebook将ID的数据类型列为,所以你应该使用字母数字类型来存储它,以避免将来破坏你的应用程序(感谢CBroe指出这一点) 我做了它的记录,但没有显示,因为我的声誉在15岁以下。再次感谢,这是投票。若要接受,请单击分数下的灰色复选框。回答错误。Facebook已经暗示,这种格式可能有一天会改变,应用程序应该准备好处理字母数字ID。将它们存储为文本。它们从一开始就没有“数字”,所以将它们存储为整数是毫无意义的。@CBroe没有看到这一点。有一些升级要做:)。我更新了答案,谢谢。
$user = $response->getGraphUser();
$fid = $user['id'];
echo($fid); //10155784607879101
//in mysql table i get 2147483647 in the fid column for the following query
$stmt = $dbh->prepare("INSERT INTO users(fid) VALUES (:fid)");
$stmt->bindParam(':fid', $fid);
$stmt->execute();
//in this case $fid not equals $stmt->bindParam(':fid', $fid);