Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 联接查询语法错误_Php_Mysql - Fatal编程技术网

Php 联接查询语法错误

Php 联接查询语法错误,php,mysql,Php,Mysql,大家好,我是php和mysql的初学者,这里我加入了3个表,但我的查询没有运行,因为它不正确。这是其中的语法错误。请帮忙,我会很感激:)) 除了左连接问题外,您还将两次连接到requestrecord表(一次作为隐式笛卡尔连接)。尝试: 隐式连接(WHERE子句)和显式连接的奇怪组合,加上左连接的语法错误。建议只使用显式联接。最终,您的方法针对requestrecord处理两个连接 SELECT courses.id AS cid, courses.title, courses.sub

大家好,我是php和mysql的初学者,这里我加入了3个表,但我的查询没有运行,因为它不正确。这是其中的语法错误。请帮忙,我会很感激:))


除了左连接问题外,您还将两次连接到requestrecord表(一次作为隐式笛卡尔连接)。尝试:


隐式连接(WHERE子句)和显式连接的奇怪组合,加上
左连接的语法错误。建议只使用显式联接。最终,您的方法针对
requestrecord
处理两个连接

SELECT
  courses.id AS cid, 
  courses.title, courses.subjectsid,  
  subjects.id AS sid, 
  subjects.subjectname, 
  requestrecord.status 
FROM 
  courses 
  /* Explicit inner join against `subjects` */
  JOIN subjects ON courses.subjectsid = subjects.id
  /* LEFT JOIN against requestrecord */
  LEFT JOIN requestrecord ON courses.id = requestrecord.coursesid

LEFTJOIN试试LEFTJOIN.我在这个问题上有什么不好的地方吗?我是新来这个论坛的,不知道它是关于什么的。任何人都可以告诉我如何在这篇文章上获得分数???@troublecreator请确保已经阅读了与语法错误相关的常见问题解答,一旦语法错误被指出,通常会关闭,而不仅仅是说一些不起作用的话,始终包括以下内容1)您收到的错误消息2)您期望代码应该做什么3)代码实际正在做什么4)您已经尝试解决它。如果缺少这4项内容,您可能会招致否决票。谢谢@Michael Berkowski问题已得到解决。。我还想知道,如果我想显示唯一登录的学生的状态记录…因为它显示了所有学生的记录,因为不同的学生申请了相同的课程。。。任何类型的帮助都将不胜感激:)@Riu2009您需要将用户id放入
WHERE
子句中。根据您发布的模式,我们看不到该值是什么,但类似于
WHERE users.id={$logged\u in\u user\u id}
是的,我在requestrecord表中将accounts id作为外键,因此我只将其与SESSION id相等,但这仅显示应用了状态的记录…我希望显示所有课程的列表和状态(如果有)@这就是我正在做的$result=mysql\u query(“选择courses.id作为cid,courses.title,courses.subjectsid,subjects.id作为sid,subjects.subjectname,requestrecord.accountsid,requestrecord.status FROM courses在courses上加入主题。subjectsid=subjects.id在courses上左加入requestrecord。id=requestrecord.coursesid其中requestrecord.accountsid=”.u会话['id']@Riu2009在
WHERE
子句中使用
requestrecord
,基本上将
左连接
转换为
内部连接
。如果用户id在
requestrecord
旁边的任何其他表格中都可用,请改用它。我在这个问题上有否定的观点吗?我是新来这个论坛的,不知道它是关于什么的。有谁能告诉我如何在这个帖子上得分吗???@troublecreator:我没有投票否决你。对于那些对你投了反对票的人,最好问一个问题,作为对你自己问题的评论。一件可能有帮助的事情是在尝试运行查询时包含返回的错误消息。您还可以检查关闭问题的用户给出的原因。有关StackOverflow问题的更多建议,请访问此处:@Mark Bannister thanx,以获取您的回复..我如何知道投票否决它的ppl??这样我就可以问他们(@troublecreator:你可以试着在你的问题中添加一条评论,要求下层选民留下评论来解释他们的投票。除此之外,没有任何办法从他们那里获得直接反馈。
$result = mysql_query("SELECT courses.id AS cid, courses.title, courses.subjectsid,  subjects.id AS sid, subjects.subjectname, requestrecord.status FROM courses JOIN subjects ON courses.subjectsid = subjects.id LEFT JOIN requestrecord ON courses.id = requestrecord.coursesid");
SELECT
  courses.id AS cid, 
  courses.title, courses.subjectsid,  
  subjects.id AS sid, 
  subjects.subjectname, 
  requestrecord.status 
FROM 
  courses 
  /* Explicit inner join against `subjects` */
  JOIN subjects ON courses.subjectsid = subjects.id
  /* LEFT JOIN against requestrecord */
  LEFT JOIN requestrecord ON courses.id = requestrecord.coursesid