0

Facebook でアプリを実行していますが、テーブルからデータを取得する際に問題があるようです。テーブルには、インデックス ページに追加されたデータが含まれており、他の場所にアクセスする必要があります。問題は、クエリが'うまくいきません。ここでは、テーブルを開いてユーザーが存在するかどうかを確認しています。ユーザーが存在しない場合は、後で追加します。

$fb_id=$userdata['id'];
        $querya="SELECT * FROM user_info WHERE user_info.fb_id='$fb_id'";
        $result1=mysql_query($querya);

            if(mysql_num_rows($result1)==0){

                         //add user to table, as they don't exist
                           }

上記の問題は何でしょうか?userdata['id'] にはデータがあり、それを印刷してユーザーの Facebook ID を表示したのに、なぜ何も起こらないのでしょうか? 前もって感謝します。

4

2 に答える 2

1

私の推測では、BIGINTやVARCHARではなくINT列を使用していると思います。Facebook IDは長すぎて、従来の32ビットINT列に収まりません。BIGINTまたはVARCHARを使用するようにテーブル構造を変更する場合(このようなルックアップを実行する場合は、必ず列にインデックスを付けるようにしてください)、問題はありません。

于 2012-11-12T12:44:41.870 に答える
0

エラーはクエリ構文です。一重引用符内で vars を使用すると、変数が変数ではなく文字列として返されます。クエリは次のようになります。

 $querya="SELECT * FROM user_info WHERE user_info.fb_id='".$fb_id."'";
于 2012-11-11T13:35:05.020 に答える