Задать вопрос
TimurWiFi
@TimurWiFi

Uncaught mysqli_sql_exception: Ошибка в запросе мускуля, что делать?

Какая-то аномалия происходит!
При отправке запроса MySQL я получаю этот выход в error.log:
[20-Mar-2022 20:20:24 Europe/Kyiv] PHP Warning:  Undefined array key "genre" in C:\OpenServer\domains\localhost\adminpanel.php on line 111
[20-Mar-2022 20:20:24 Europe/Kyiv] PHP Warning:  mkdir(): File exists in C:\OpenServer\domains\localhost\adminpanel.php on line 124
[20-Mar-2022 20:20:24 Europe/Kyiv] PHP Warning:  mkdir(): File exists in C:\OpenServer\domains\localhost\adminpanel.php on line 125
[20-Mar-2022 20:20:24 Europe/Kyiv] PHP Warning:  mkdir(): File exists in C:\OpenServer\domains\localhost\adminpanel.php on line 126
[20-Mar-2022 20:20:24 Europe/Kyiv] PHP Fatal error:  Uncaught mysqli_sql_exception: 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 't found...',NULL,1,'0001-01-01','films/film-num12/icon.pn' at line 1 in C:\OpenServer\domains\localhost\adminpanel.php:133
Stack trace:
#0 C:\OpenServer\domains\localhost\adminpanel.php(133): mysqli_query()
#1 {main}
  thrown in C:\OpenServer\domains\localhost\adminpanel.php on line 133


Жалуется на строку 133:
mysqli_query($connect, "INSERT INTO `films_data`(`id`, `name`, `description`, `rate`, `premium`, `date`, `icon_url`, `name_url`, `film_url`, `size`, `price`, `author`, `ages`, `genre`) VALUES ('$id_0','$film_name2','$description',NULL,$premium_need,'$date','films/$film_name1/icon.png','films/$film_name1/name.png','films/$film_name1/videos/$file_name','$size','$summe','$author','$age',NULL)");


Ничего не понимаю!
Скоро с этим MySQL с ума сойду...
  • Вопрос задан
  • 1470 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Vitsliputsli
Используйте подготавливыемые запросы. Вы передаёте данные с кавычкой, это и вызывает ошибку.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Скоро с этим MySQL с ума сойду...
Да, с таким подходом лучше бросайте это грязное дело...

Ничего не понимаю!
Ну так чтобы что-то понимать, нужно смотреть что происходит, знать что содержится в переменных и читать ошибки. Чтобы смотреть что происходит нужно использовать var_dump или ставить xdebug, чтобы знать что в переменных - нужно понимать какие переменные смотреть. В том числе знать почему возникают варнинги и все их исправить.

В данном случае у вас кроме того что запрос опять не использует подготовленные выражения, опять никак не проверяются переменные которые вы "суваете" в запрос. Сформируйте запрос в переменную, выведите ее, посмотрите где в переменных косяк (хотя он и так виден и вытекает из предыдущих описанных ошибок)... Короче учитесь искать ошибки, тем более что все они в логе описаны.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы