0
您好我正在尝试加入两个MySQL表。这些表如下:Mysql加入两个表来检查用户是否已经选择了
Table 1
Name: mlb_game_feed
Fields: game_feed_game_id, date, home_team, away_team
Table 2
Name: user_picks
Fields: pick_id, game_feed_game_id_fk, user_id_fk
这里是我已经尝试使用它来加入两个表的SQL:
$sql = "
SELECT game_feed_game_id
, home_team
, away_team
, COUNT(1) as cnt
FROM game_feed_mlb
JOIN user_picks
ON user_picks.game_feed_game_id_fk = game_feed_mlb.game_feed_game_id
Where game_feed_mlb.date = '" . $_SESSION['date']."'
AND user_picks.user_id_fk = 1";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$count = $row["cnt"];
$game_id = $row["game_feed_game_id"];
$home_team = $row['home_team'];
$away_team = $row['away_team'];
echo $game_id;
}
}
我的目的是检查用户是否选择了一个冠军(无论是HOME_TEAM或从mlb_game_feed表AWAY_TEAM),如果他们有,我会从make_pick更改链接到change_pick(与if($count)
语句)在屏幕上。
但是,目前我甚至没有收到任何数据,这意味着我的sql可能不正确。任何帮助将是伟大的!谢谢。
你的'FROM','JOIN','ON'和'WHERE子句前需要空间。 – Parfait
谢谢....它的作品...但是现在我看到我的逻辑是不正确的。目前只显示两个表中匹配的记录。我的意图是继续显示mlb_game_feed表中的所有记录,但根据在user_picks表中是否找到匹配的记录,将附近的超级链接从make pick更改为pick。我可能使用了错误类型的JOIN,所以我会做更多的研究。 –
OT:使用SQL准备语句:https://stackoverflow.com/q/60174/5905665 –