Facebook подключить UID MySQL проблема с хранилищем
Я делаю интеграцию Facebook Connect. Я использую PHP-библиотеку Facebook, чтобы получить UID, как
$facebook = новый Facebook ($ api_key, $ secret); $ fb_user = $ facebook-> require_login ();
$ fbuser - это bigint длиной в 16 символов, например 1000002949493949
Однако, когда я вставляю это значение в MySQL, он вставляет только 2949493949
Поэтому позже, когда я пытаюсь сопоставить uid с тем, который хранится в моей базе данных 1000002949493949, он не совпадает, потому что база данных возвращает 2949493949
Поле uid в моей базе данных - это bigint длиной 20. Изначально это было int, но я изменил его, когда начал встречать новые, более длинные uid.
Любая идея, что мне нужно сделать, чтобы правильно хранить UID?
3 ответа
При хранении fb_uid в БД вы должны хранить его как BIGINT (для mysql)
Вам также нужно убедиться, что вы используете 64-битное целое число в PHP. Можете ли вы опубликовать часть кода PHP, которая хранит информацию?
Я бы предложил сохранить идентификатор как строку, а не как целое число, если вы используете 32-битную версию PHP.
Самый простой выход - хранить значения uid в Facebook как varchar. если вам нужно только запросить mysql db, чтобы получить значение uid, то это самый простой выход.