Facebook - 为什么我的user_id从signed_request存储为最大整数


Facebook - Why is my user_id from signed_request stored as a max integer?

出于某种原因,我的user_id作为2147483647存储在我的数据库中,而不是实际的user_id。有谁知道为什么会这样?

if ($_REQUEST) {
    $response = parse_signed_request($_REQUEST['signed_request'], 
                               FACEBOOK_SECRET);
    $name = $response["registration"]["name"];
    $email = $response["registration"]["email"];
    $facebookID = $response["user_id"];
    $connect = mysqli_connect($db_host,$db_user,$db_pass);
    mysqli_select_db($connect,$db_name);
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $result = mysqli_query($connect, "INSERT INTO User (U_id, U_name, U_email) VALUES ('$facebookID', '$name', '$email')") or die (mysqli_error($connect));

Facebook 用户 ID 需要更多的存储空间,我想你给它一个整数,尝试一些其他范围很大的数据类型。
结论是检查您的数据类型是整数,如果yes然后更改数据类型varchar否则并try again