0

3 つのテーブルを結合しようとしています。1 つ目はグループのテーブル、2 つ目は参加者のテーブル、3 つ目はユーザーのテーブルです。ロジックは、グループのIDから始めて、グループIDでジョイナーのグループに参加することです。最後に、ID だけでなく名前も必要なので、userid でユーザーを結合して、users テーブルからそれらを取得します。しかし、残念ながら機能していません。MYSQL は、「'groups' g の近くでエラーが発生しました」というエラーをスローしています。これは通常、その直前を意味します。何が欠けていますか?

グループ ID | 名前 |ユーザー ID

ジョイナーID | グループ ID | ユーザーID

ユーザー ID | ファーストネーム

$sql = "SELECT g.*,j.userid,u.firstname,u.id
FROM 'groups' g
LEFT JOIN 'joiners' j
ON g.id = j.groupid
LEFT JOIN 'users' u
ON j.userid = u.id
WHERE g.id = 22";
4

1 に答える 1

2

テーブルや列などのあいまいな用語は、バックティックを使用してエスケープする必要があります。

$sql = "SELECT g.*,j.userid,u.firstname,u.id
FROM `groups` g
LEFT JOIN `joiners` j ON g.id = j.groupid
LEFT JOIN `users` u ON j.userid = u.id
WHERE g.id = 22

これは、文字列の末尾が表示されないため、残りのクエリが正しいと想定しています;-)

于 2012-05-31T15:24:47.677 に答える