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, то это самый простой выход.

Другие вопросы по тегам