我一直在Facebook应用程序上工作,但是当我注册一个新用户来测试朋友交互时,新用户得到了一个uid(100000XXXXXXXXX
),这对于php来说似乎很大.
将数字保存在数据库中会产生相同的值(2147483647
).我猜这也是PHP的错,因为我相信uid会适合未签名的bigint?
我不太确定从哪里开始,有什么建议吗?
修复是将UID始终存储为字符串.使用VARCHAR
MySQL中的字段类型,你会没事的.
一般来说,许多数据库大师会告诉你,解释另一个应用程序的外键(在这种情况下就像UID)是糟糕的坏事,你应该把它们当作不透明的文本来处理.
Facebook推荐将其存储为未签名的BIGINT.
User
对象详细信息和连接可以在这里找到.
对于PHP,你将它存储为一个字符串(因为,最终,如果你要使用它,它将显示在页面上或JSON数据中或其他类似的东西.没有真正需要执行算术在那个号码上).