0

1 つのテーブルに基づいてデータをフィルター処理する必要がありますが、php mysql の select from 関数の正しい使用法がわかりません。以下のコードは私がやろうとしていることを示していますが、複数の SELECT を使用できると思います。

$query_Student = "SELECT Project_Title, Project_Lecturer FROM projects WHERE Project_id = 
 (SELECT Proj_id FROM project_course WHERE Cour_id = (SELECT Course_id from courses WHERE     
Code = (SELECT Course FROM users WHERE Username = ".$_SESSION['MM_Username']."))"

代わりに、私が書く必要があるものについて誰か助けてもらえますか?

4

2 に答える 2

2

あなたがしたいことは私にははっきりしていませんが、クエリを機能させるには$_SESSION['MM_Username']、 gogowitsch がすでに言ったように、単一引用符で囲む必要があります。

また、別の閉じ括弧がありません。したがって、クエリは次のようになります。

$query_Student = "SELECT Project_Title, Project_Lecturer FROM projects WHERE Project_id = 
 (SELECT Proj_id FROM project_course WHERE Cour_id = (SELECT Course_id from courses WHERE     
Code = (SELECT Course FROM users WHERE Username = '".$_SESSION['MM_Username']."')))"

しかし...

それはあまりよく書かれたクエリではありません。

私は今推測していますが、おそらくこれはあなたが探しているものです:

SELECT 
p.Project_Title, 
p.Project_Lecturer 
FROM projects p
INNER JOIN project_course pc ON p.Project_id = pc.Proj_id
INNER JOIN courses c ON pc.Cour_id = c.Course_id
INNER JOIN users u ON c.Code = u.Course
WHERE u.Username = 'yourUserName';

そうでない場合は、使用しているテーブルを見せてください (使用してSHOW CREATE TABLE projects;いるテーブルごとに a などを行い、ここに投稿してください)、期待する出力を教えてください。

于 2012-05-20T21:08:29.277 に答える
0

ユーザー名を引用符で囲む必要がある場合があります。文字列にでき$_SESSION['MM_Username']ますか?

于 2012-05-20T20:37:46.147 に答える