Dan*_*iel 2 php facebook facebook-graph-api
我在Facebook上有一个应用程序,我在我的数据库上记录用户(脚本检查用户是否已经在数据库中,如果没有,则添加他).users表只有一个字段 - "userid",这是一个主键.
检查用户是否已在db中注册的脚本是:
$selectuser = $db->query("SELECT * FROM `predictorusers` WHERE `userid`='$user'");
if ($db->countRows($selectuser) == 0)
$db->query("INSERT INTO `predictorusers` (`userid`) VALUES ('$user')");
Run Code Online (Sandbox Code Playgroud)
现在问题:我不知道为什么,但对于特定的用户(对于大多数用户,如果工作得很好)它插入id 2147483647(甚至不存在于Facebook !!),当他进入应用程序再次,他收到以下消息:
键1的重复条目"2147483647"
就像它试图再次添加它,即使它已经存在于db !!
任何人都可以搞清楚吗?
它是关于MySQL中字段的定义.我确定你的字段设置为INT类型.
对于密钥1重复输入'2147483647'= = MySQL中此类型的最大数量.
因此,当FB ID大于此值时,MySQL会将其设置为允许的最大值,因此当ID很大时,会给出重复项,因为条目必须是唯一的.
将字段更改为VARCHAR(255),您的问题将得到解决.
ALTER predictorusersALTER COLUMN useridVARCHAR(255)NULL
| 归档时间: |
|
| 查看次数: |
988 次 |
| 最近记录: |