Вставка / выгрузка нескольких файлов в определенную строку таблицы базы данных в PHP MYSQL

Проблема: только последняя загрузка файла, вставленная в строку (перечисление-уверены-безопасность-фото-идентификатор), которая должна быть целыми фотографиями, выбранными во время загрузки.

HTML:

    <form action="#" method="post" enctype="multipart/form-data">
<input name="upload[]" type="file" multiple="multiple" />
<input type="submit" name="submit" value="UPLOAD" />
</form>

PHP:

    <?php
if(isset($_POST['submit'])) {
for ($i=0; $i<count($_FILES['upload']['name']); $i++) {
$path = "../media/images/Listings/Set/";
$ext = explode('.', basename( $_FILES['upload']['name'][$i]));
$path = $path . md5(uniqid()) . "." . $ext[count($ext)-1];
move_uploaded_file($_FILES['upload']['tmp_name'][$i], $path);

}

$quotequery = "INSERT INTO `listing-details` (`listing-amenities-safety-photos-id`) VALUES ('$path')";
if (mysqli_query($conn, $quotequery) == TRUE) {

echo "File uploaded.";
} else {
echo "Upload failed.". mysqli_error($conn);
}

}

?>

Вставлена ​​фотография для показа только одной записи:
Изображение как доказательство того, что вставлена ​​только одна запись из $ path

Примечание. Все фотографии были успешно загружены в указанный путь. Тем не менее, я не могу заставить MySQL вставить все файлы в моей строке. Я думаю, что массив может решить мою проблему, но я на самом деле не эксперт по массивам или даже PHP! Поэтому, пожалуйста, оцените любой ответ, который полезен, но «помечен как дубликат» или «проголосовал против». Спасибо

0

Решение

Переместите ваш запрос к базе данных внутри вашего цикла. $path перезаписывается при каждом проходе, поэтому при вставке будет вставлен только последний.

<?php
if(isset($_POST['submit'])) {
for ($i=0; $i<count($_FILES['upload']['name']); $i++) {
$path = "../media/images/Listings/Set/";
$ext = explode('.', basename( $_FILES['upload']['name'][$i]));
$path = $path . md5(uniqid()) . "." . $ext[count($ext)-1];
move_uploaded_file($_FILES['upload']['tmp_name'][$i], $path);

$quotequery = "INSERT INTO `listing-details` (`listing-amenities-safety-photos-id`) VALUES ('$path')";
if (mysqli_query($conn, $quotequery) == TRUE) {

echo "File uploaded.";
} else {
echo "Upload failed.". mysqli_error($conn);
}
}
}

?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]