У меня есть простой запрос на обновление, который почему-то не работает. Уже пытаюсь изменить его на некоторое время и сравнить его с другими обновлениями, но независимо от того, что я меняю, он не работает. Две строки в одной таблице с одним и тем же учителем должны быть обновлены с одинаковым значением.Обновление нескольких строк с одинаковым идентификатором и одинаковым значением
Вот запрос:
$StatusChangeQuery = "UPDATE teachers SET status_id = $status_id WHERE teacher_id = '20'";
$pdo->query($StatusChangeQuery);
Я знаю, что это действительно просто один, но я получаю следующее сообщение об ошибке:
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 'WHERE teacher_id = '20'' at line 1' in /var/www/xxx/html/teacher.php:225
Stack trace: #0 /var/www/xxx/html/teacher.php(225):
PDO->query('UPDATE teachers...') #1 {main} thrown in /var/www/xxx/html/teacher.php on line 225
И соответствующие учителя строки выглядят как:
+---+-------------+------------+
|id | teacher_id | status_id |
+---+-------------+------------+
| 1 | 20 | 1 |
| 2 | 20 | 1 |
+---+-------------+------------+
Какова ценность '$ status_id', когда возникает ошибка? – Nate
Если столбец teacher_id основан на базе INT, вам не нужны котировки вокруг '20' – Haymaker
Можете ли вы напечатать $ StatusChangeQuery перед запуском запроса и опубликовать его? –