Я создаю систему загрузки картинок в PHP & MySQL. Все работает отлично, за исключением того факта, что база данных не включает расширение $ db_file_name. Как бы то ни было, когда я повторяю переменную, она показывает расширение в строке.База данных не получает расширение файла
Также, когда я повторяю sql, он показывает расширение. Таким образом, проблема связана с MySQL.
Какая проблема может быть проблемой?
Это запрос:
$db_file_name = "123456.jpg";
// Move result into database
$sql = "UPDATE users SET avatar='$db_file_name' WHERE email='$s_email' LIMIT 1";
$query = mysqli_query($this->db, $sql);
база данных получила номер без расширения (JPG, GIF, PNG). Тип данных столбца аватара - VARCHAR (255) со значением по умолчанию NULL.
Возможно, не связанный, но: 1) Здесь есть возможность для SQL-инъекции. 2) Имена файлов не являются уникальными в этом коде, это может перезаписать файл другого пользователя без предупреждения. – David
Здравствуйте, да, я знаю о потенциальной инъекции SQL, я добавлю позже. Но сейчас я просто хочу, чтобы он работал. А поскольку фотография профиля загружается пользователем в собственный каталог, не должно быть проблем с дублированием. Позже я собираюсь добавить функцию, которая очищает каталог перед тем, как поместить в него новый файл. –
Можете ли вы повторить «$ sql», чтобы увидеть его значение времени выполнения? Включает ли это расширение файла? Выполняет ли тот же запрос вручную в базе данных тот же результат? – David