Facebook подключить UID MySQL проблема с хранилищем - PullRequest
2 голосов
/ 10 февраля 2010

Я делаю интеграцию 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 ]

5 голосов
/ 29 января 2011

При хранении fb_uid в БД вы должны хранить его как BIGINT (для mysql)

4 голосов
/ 10 февраля 2010

Вы также должны убедиться, что вы используете 64-битное целое число в PHP. Можете ли вы опубликовать часть кода PHP, которая хранит информацию?

Я бы предложил сохранить идентификатор в виде строки, а не целого числа, если вы используете 32-битную версию PHP.

0 голосов
/ 10 февраля 2010

самый простой выход - хранить значения uid из facebook как varchar. если вам нужно только запросить mysql db, чтобы получить значение uid, то это самый простой выход.

...