Ошибка 500 при AJAX запросе

179
29 марта 2022, 09:30

Возникает ошибка 500 (Internal Server Error) при отправке AJAX запроса, ошибка только при запросе на удаление из базы

Yii::$app->db->createCommand("DELETE FROM `notifications` WHERE `id` = $id")
            ->queryAll();

При SELECT * FROM и.т.д проблем никаких нет AJAX не выдает ошибок, да и сам запрос на удаление отрабатывает нормально и удаляет столбец в таблице, но AJAX возвращает ошибку 500 В чём может быть проблема? Благодарю!

Answer 1

Можно проще сделать

Notifications::deleteAll(['id' => $id]);
Answer 2

Для выполнения не-select запросов через createCommand лучше использовать ->execute(). Детали можно найти здесь: https://yiiframework.com.ua/ru/doc/guide/2/db-dao/#non-select-queries

Answer 3

Отменил AJAX и отправил этот запрос через форму из вьюшки в результате получил ошибку на уровне PDO PDOException SQLSTATE[HY000]: General error это и была причина 500 (Internal Server Error) в консоли.

Я пока еще не очень понимаю с чем связана эта ошибка, но было явно понятно что дебагер ругается на:

->queryAll();

Старый запрос:

Yii::$app->db->createCommand("DELETE FROM `notifications` WHERE `id` = $id")->queryAll();

Новый рабочий запрос:

Yii::$app->db->createCommand("DELETE FROM `notifications` WHERE `id` = $id")->query();

Ну как, они оба работали, но второй не вызывает ошибку :)

READ ALSO
Существуют ли плагин, который позволил бы в постах заменять URL ссылки?

Существуют ли плагин, который позволил бы в постах заменять URL ссылки?

Существуют ли плагин или другие подобные инструменты, которые позволили бы в постах заменить URL ссылок

67
Переименовать файлы по ссылке PHP

Переименовать файлы по ссылке PHP

Есть массив со ссылками на файлы с одинаковым именемКак переименовать default

107
кодирование урлов

кодирование урлов

Надо в ресайзер картинок в цикле закидывать картинки с чужого сервера, если они "плохие", то сваливать в отдельную функцию, которая делает...

230
регистрация без БД

регистрация без БД

Я хочу сделать регистрацию на сайте но у меня возникли проблемы с БД

180