$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);

我在Facebook开发者文档中读到:
身份证件
数字字符串
此人的用户帐户的id。此ID对每个应用程序都是唯一的,不能跨不同的应用程序使用。我们的升级指南提供了有关应用程序特定ID的更多信息
核心
当我的用户返回我的网站并使用Facebook登录时,我无法识别他们的身份。
有人有建议吗?
提前谢谢你,
亚当

最佳答案

要将Facebook ID存储为数字,需要将该字段设置为无符号BIGINT。
不过,现在Facebook将ID的数据类型列为string,因此您应该将其存储为字母数字类型,以避免将来破坏您的应用程序(感谢CBroe指出了这一点)。

关于php - 使用Facebook php SDK v2.10将17个字符的Facebook用户ID以不同的值存储在MYSQL中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45745991/

10-10 23:57