0

セッション ユーザーと同じ場所にいるすべてのユーザーを選択する mysql ステートメントを作成しようとしています。たとえば、ログインした人/セッションユーザーがマンチェスターをデータベースの場所としてリストしている場合、場所がマンチェスターであるすべてのユーザーがそのユーザーに表示されるようにします。

function get_local_users() {
            global $connection;
            global $user_location;
            $query = "SELECT *
                        FROM ptb_stats, ptb_users
                        WHERE ptb_stats.user_id = ptb_users.user_id
                        AND ptb_stats.user_location = ".$_SESSION['user_location']."
                        LIMIT 0 , 20";
            $local_set = mysql_query($query, $connection);
            confirm_query($local_set);
            return $local_set;
        }

その時点でエラーは発生していませんが、結果も得られていません。$_SESSION['user_location'] をどこかに定義する必要がありますか?

ありがとう

4

1 に答える 1

0

場所を引用していないため、クエリは次のようになります。

SELECT ... FROM ... WHERE location = manchester;

あるべき場所:

SELECT ... FROM ... WHERE location = 'manchester';

単純に引用符を追加することもできますが、理想的には、準備されたステートメントを使用してクエリを作成する必要があります。また、mysql_* 関数は非推奨です。代わりに mysqli_* を使用してください。ここここを参照してください。

于 2013-10-17T15:54:29.950 に答える