Facebook Connect uid MySQL 存储问题

问题描述 投票:0回答:3

我正在进行 Facebook Connect 集成。我使用 Facebook PHP 库来获取 uid,例如:

$facebook = new Facebook($api_key, $secret); $fb_user = $facebook->require_login();

$fbuser 是16个字符的long bigint,比如1000002949493949

然而,当我将这个值插入 MySQL 时,它只会插入 2949493949。

所以稍后当我尝试将 uid 与存储在我的数据库中的 1000002949493949 匹配时,它不匹配,因为数据库返回 2949493949.

我的数据库中的uid字段是一个bigint,长度为20。它最初是一个int,但当我开始遇到新的、更长的uid时,我改变了它。

知道我需要做什么才能正确存储 uid 吗?

facebook bigint uid
3个回答
5
投票

在数据库中存储 fb_uid 时,您应该将其存储为 BIGINT(对于 mysql)


4
投票

您需要确保您也在 PHP 中使用 64 位整数。您可以发布存储信息的代码的 PHP 部分吗?

如果您使用的是 32 位版本的 PHP,我建议尝试将 id 保留为字符串而不是整数。


0
投票

最简单的方法是将来自 facebook 的 uid 值存储为 varchar。如果你只需要查询 mysql 数据库来获取 uid 值,那么这是最简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.