我一直在研究一个我没有遇到任何问题的学校项目,突然出现这个错误。我没有编辑代码上的东西。当我再次运行它时会出现此错误。
致命错误:带有消息'SQLSTATE [42000]的未捕获异常'PDOException':语法错误或访问冲突:1064 SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第7行''附近使用正确的语法 这是我遇到的另一个错误。
PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第7行的''附近使用正确的语法
这是我发的查询。我真的找不到问题所在。
class Subject {
function getSubjectList($id) {
global $db;
$sql = "SELECT class_id, c.subject_id, subject_desc, units, day, time
FROM class c
JOIN subject s
ON c.subject_id = s.subject_id
JOIN lecturer l
ON c.lec_id = l.lec_id
WHERE l.lec_id = $id";
$stmt = $db->query($sql);
while($r = $stmt->fetch()) {
$result[] = $r['class_id'];
$result[] = $r['subject_id'];
$result[] = $r['subject_desc'];
$result[] = $r['units'];
$result[] = $r['day'];
$result[] = $r["time"];
$result[] = $r['class_id'];
}
return $result;
}
}
答案 0 :(得分:-1)
在此查询中,您必须指定连接类型:http://dev.mysql.com/doc/refman/5.0/en/join.html
看下面的例子:
SELECT class_id, c.subject_id, subject_desc, units, day, time
FROM class c
INNER JOIN subject s
ON c.subject_id = s.subject_id
INNER JOIN lecturer l
ON c.lec_id = l.lec_id
WHERE l.lec_id = $id;