Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在facebook上记录用户时出错_Php_Facebook_Facebook Graph Api - Fatal编程技术网

Php 在facebook上记录用户时出错

Php 在facebook上记录用户时出错,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我在facebook上有一个应用程序,我将用户记录在我的数据库中(一个脚本检查用户是否已经在数据库中,如果没有,则添加他)。users表只有一个字段-“userid”,它是主键 检查用户是否已在数据库中注册的脚本为: $selectuser = $db->query("SELECT * FROM `predictorusers` WHERE `userid`='$user'"); if ($db->countRows($selectuser) == 0) $db-&g

我在facebook上有一个应用程序,我将用户记录在我的数据库中(一个脚本检查用户是否已经在数据库中,如果没有,则添加他)。users表只有一个字段-“userid”,它是主键

检查用户是否已在数据库中注册的脚本为:

    $selectuser = $db->query("SELECT * FROM `predictorusers` WHERE `userid`='$user'");
if ($db->countRows($selectuser) == 0)
    $db->query("INSERT INTO `predictorusers` (`userid`) VALUES ('$user')");
现在问题来了:我不知道为什么,但是对于一个特定的用户(对于大多数用户来说,如果工作正常的话),它会插入id 2147483647(这在facebook上根本不存在!!),当他再次进入应用程序时,他会收到以下消息:

键1的重复条目“2147483647”

就像它试图再次添加它,即使它已经存在于数据库中


有人能理解吗?

这是关于MySQL中字段的定义。我确信您的字段设置为INT类型

键1的重复条目“2147483647==MySQL中此类型的最大数量

因此,当FB ID大于此值时,MySQL会将其设置为允许的最大值,从而在ID较大时为您提供重复项,因为条目必须是唯一的

将字段更改为VARCHAR(255),您的问题将得到解决

ALTER
predictor用户
ALTER列
userid
VARCHAR(255)NULL

改用BIGINT(20)作为数据类型。FB ID太大了