【发布时间】:2016-02-28 20:45:16
【问题描述】:
尝试查询班级、教师、课外活动和学生专业的列表,但运行查询时没有得到任何结果。
//query to get the student ID if user enters "name" on the page
$student_name= $_POST["name"];
$studentid= "SELECT studentid FROM students WHERE name='$student_name'";
$id_query = mysqli_query($dbcon, $studentid);
$student_id= mysqli_fetch_array($id_query);
//should query stuff related to the student.
$sqlstudentquery= "SELECT c.name, c.teacher, e.name, m.name
FROM students AS s
LEFT JOIN classes AS c ON s.studentid = c.stude_id
LEFT JOIN extracurricular AS e ON s.studentid = e.stude_id
LEFT JOIN majors AS m ON s.studentid = m.stude_id
WHERE s.studentid='$student_id[0]'";
$student_data = mysqli_query($dbcon, $sqlstudentquery);
当我输入搜索词时,页面将尝试加载但不返回任何数据。我试图在数据库上手动输入查询,但它返回一个空查询。我应该使用内连接而不是左连接吗?
编辑:发布此内容后,我确实在我的 php 中发现了语法错误。我已经修好了。 SQL 查询仍然不起作用。
edit2:sql 查询现在可以工作了,谢谢。
【问题讨论】:
-
print_r( $student_id);chk 这个 -
在第一个查询中,您将学生的 ID 称为
SELECT student FROM,而在第二个查询中,您使用的是s.studentid,即students AS s,那么正确的字段是什么?您的第一个或第二个查询是错误的。 -
如果查询在 DB 界面中不起作用,这不是 PHP 问题,而是 SQL/mysql 问题。 DB长啥样,能不能提供个sqlfiddle?