0

Facebook アプリを使用して、ユーザーが自分の Web サイトにログインできるようにしています。

これは正常に機能し、ユーザーがユーザー名とパスワードを入力した後、アプリを許可するようにユーザーに促します。

サインインの一部として、ユーザー情報の一部をデータベースに送信して、自分のサイトでユーザーのプロファイルを作成します。これは、4 人中 2 人のテスト ユーザーで問題なく機能し、正しい情報がデータベースに保存されます (名前、電子メール、ID など)。

ただし、他の 2 人のテスト ユーザーには同じ ID 番号が返されます。これは、Facebook API ツールに表示されるユーザー名の ID 番号とは異なります。

したがって、機能する2つを無視して、以下の機能しない2つと問題について話し合います。

データベースからすべてのエントリを削除し、account3 でログインすると、正しいユーザー名、電子メール アドレス、名前などでデータベースに追加されますが、その ID は facebook API ツールに表示されるものとは異なります。Account4 でログインすると、ID 番号に重複した ID があるというエラーが表示されます。account3 のエントリを削除して account4 でサインインすると、正しい名前、電子メール アドレス、ユーザー名などでデータベースに保存されますが、ID 番号はまだ間違っています。

4 つのアカウントのうち 2 つのアカウントでこれが機能するのはなぜですか? また、すべてのユーザー ID が一意である必要があるのに、重複 ID エラーが発生するのはなぜですか?

どんな助けでも素晴らしいでしょう。

前もって感謝します。

4

2 に答える 2

1

Facebook は ID に int64 を使用するため、double を使用するだけで十分です。

于 2012-09-07T01:54:40.700 に答える
0

しばらくこれを調べた後、最終的に解決策を見つけました。

mysql の int フィールドには ID が長すぎるため、可能な最大の ID 番号が配置されます。

ID フィールドを varchar(500) に変更したところ、問題は解決しました。

于 2012-09-06T20:54:02.510 に答える