我正在尝试编写使用数据库连接的第一个查询。我已经离开了一个教程网站,只是它似乎没有显示任何东西,任何人都可以看到我的代码有任何明显的错误?
//USers with Same Interests
$interests_query = "SELECT *
FROM produgg_users AND user_interests
WHERE produgg_users.id = user_interests.user_id
AND (interest = $interest1
OR interest = $interest2
OR interest = $Interest3)";
$interests_result = mysql_query($interests_query);
if($interests_result != 0) {
while($interests_row = mysql_fetch_array($interests_result, MYSQL_ASSOC)) {
echo $row->id;
}
} else {
echo "No users to display!";
}
//END SAME INTERESTS
@Jay回答我现在只有它仍然没有带回任何信息,只是打印出“没有用户透露”
//USers with Same Interests
$interest1 = "footy";
$interests_query = "SELECT * FROM produgg_users
join user_interests on produgg_users.id = user_interests.user_id
where interest = $interest1 OR interest = $interest2 OR interest = $Interest3";
$interests_result = mysql_query($interests_query);
if($interests_result != 0) {
while($interests_row = mysql_fetch_array($interests_result, MYSQL_ASSOC))
{
echo $row->id;
}
}
else
{
echo "No users to display!";
}
//END SAME INTERESTS
答案 0 :(得分:3)
使用JOIN尝试查询以链接两个表。
SELECT *
FROM produgg_users
INNER JOIN user_interests
ON produgg_users.id = user_interests.user_id
WHERE (interest = $interest1 OR interest = $interest2 OR interest = $Interest3)
答案 1 :(得分:1)
您应该... mysql_query($interests_query) or die(mysql_error())
来捕获任何语法错误。
mysql_query()不返回“0”。它返回一个结果句柄,或一个布尔值false表示查询完全失败。您可以查看与mysql_num_rows($interests_result)
答案 2 :(得分:0)
SELECT * FROM produgg_users AND user_interests WHERE produgg_users.id = user_interests.user_id AND(interest = $ interest1 OR interest = $ interest2 OR interest = $ Interest3)“;
您的关键问题是,这不是连接的正确语法。你不要在表名之间说“和”。你要么放一个逗号,然后在where子句(旧的,笨拙的样式)中给出连接条件,要么你写“join”并将连接条件放在“on”子句中(新的,漂亮的样式)。
旧式:
SELECT * FROM produgg_users, user_interests
WHERE produgg_users.id = user_interests.user_id
AND (interest = $interest1 OR interest = $interest2 OR interest = $Interest3)
新风格:
SELECT * FROM produgg_users
join user_interests on produgg_users.id = user_interests.user_id
where interest = $interest1 OR interest = $interest2 OR interest = $Interest3