我正在尝试创建一个 mysql 语句来选择与 session 用户具有相同位置的所有用户。例如,如果登录者/ session 用户在数据库中将曼彻斯特列为其位置,那么我希望向该用户显示其位置为曼彻斯特的所有用户。
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'] 吗?
谢谢
最佳答案
您没有引用位置,因此查询将如下所示:
SELECT ... FROM ... WHERE location = manchester;
它应该在哪里:
SELECT ... FROM ... WHERE location = 'manchester';
您可以简单地添加引号,但理想情况下您应该通过准备好的语句构建查询。另外,不推荐使用 mysql_* 函数,您应该使用 mysqli_* 代替。请参阅here和 here .
关于php - 将其他用户位置与 session 用户的位置相匹配吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19430593/