繁体   English   中英

MYSQL PHP查询将数据从一个表获取到另一个表

[英]MYSQL PHP query to get data from one table to another

我需要根据一个表过滤数据,但我不知道php mysql中select函数的正确用法。 下面的代码显示了我想要做的事情,但我认为你可以使用多个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']."))"

任何人都可以提供我需要写的任何帮助吗?

你想做的事情对我来说并不是很清楚,但为了让你的查询工作,你需要在$_SESSION['MM_Username']周围加上单引号,就像gogowitsch已经说过的那样。

还缺少另一个关闭的paranthese。 所以你的查询应该是这样的:

$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;依此类推您正在使用的每个表并在此处发布)以及可能的输出结果,然后我们可以提供帮助。

您可能需要在用户名周围添加引号。 $_SESSION['MM_Username']可以是字符串吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM