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 回答