Я работаю над школьным проектом, с которым у меня не было проблем, внезапно эта ошибка появляется. Я ничего не редактировал в коде. Когда я запустил его снова, появится эта ошибка.Неустранимая ошибка: исключить исключение «PDOException» с сообщением «SQLSTATE [42000]: 4
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7' And here is the other error I've been getting.
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 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;
}
}
Я рекомендую вам параметризовать запрос. Вы пытались повторить запрос, чтобы увидеть, как он выглядит? 'echo $ sql; die(); ' – ymas
Извините, я действительно новичок в этом, но как мне это сделать? – AClement
Скорее всего, причиной '$ id' является пустая строка? (И да, используйте подготовленные заявления) – Wrikken