0
我在我的网站上编程聊天室,但我真的很新的PHP。我希望用户能够与在同一个游戏团队中玩过的用户(知道用户可以一起参与不同团队)以及在同一区域工作的用户聊天。简单的sql多表查询
假设有三个表:帐户用户的表,该地区的牛逼能,games'table
我有一个返回我的查询,看起来像
function myfunction($userid){
$games_user=mysql_query('select theme from games where games.userid="'.$userid.'"');
$games_theme = mysql_fetch_array($games_user);
$sql = ("select userid, username, area.userid
from account
left join area
on account.userid = area.userid
left join games
on account.userid = games.userid
where account.userid <> '".mysql_real_escape_string($userid)."' and '".(in_array(games.theme,$games_theme))."' and area.userid=1
);
return $sql;
}
重新格式化函数:
$sql = "
SELECT userid, username, area.userid
FROM account
LEFT JOIN area ON account.userid = area.userid
LEFT JOIN games ON account.userid = games.userid
WHERE account.userid <> '".mysql_real_escape_string($userid)."'
AND '".(in_array(games.theme,$games_theme))."'
AND area.userid = 1
";
但它确实不起作用,我认为我有语法问题。 我真的不明白如何in_array索引,我不知道如何以更简单的方式做该查询
任何人都可以帮忙吗?
您正在任意地将PHP函数'in_array()'粘贴到查询中。你想用这个来完成什么?看起来您想知道列值“games.theme”是否与'$ games_theme'数组中的某个值相匹配,这是从您的第一个查询中提取的一行? – 2012-07-15 18:38:19
你应该可以通过代码告诉你突然发现你的语法错误(最后缺少'''''''''帮你一个忙,并且处理你的查询格式;你有什么难以阅读的如果'userid'存储为整数,则不需要执行''..''。[http://codepad.org/XZOKwncG),IMO。 – 2012-07-15 18:41:47
。 $ userid。 '''''。 – hjpotter92 2012-07-15 18:43:17