Я создаю фотоальбом онлайн, используя mysql и php. Я использую phpmyadmin для управления моей базой данных. До сих пор, у меня есть следующий код:фотоальбом онлайн - загруженное изображение не отображается в базе данных mysql
<form method='post'>
Album Name: <input type="text" name="title" />
<input type="submit" name="submit" value="create" />
</form>
<h4>Add Photo</h4>
<form enctype="multipart/form-data" method="post">
<?php
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if(isset($_POST['upload'])){
$caption = $_POST['caption'];
$albumID = $_POST['album'];
$file = $_FILES ['file']['name'];
$file_type = $_FILES ['file']['type'];
$file_size = $_FILES ['file']['size'];
$file_tmp = $_FILES ['file']['tmp_name'];
$random_name = rand();
if(empty($file)){
echo "Please enter a file <br>";
} else{
move_uploaded_file($file_tmp, 'uploads/'.$random_name.'.jpg');
mysqli_query($mysqli, "INSERT INTO photos (caption, image_url, date_taken, imageID)
VALUES($caption, $random_name.jpeg, NOW(), $albumID)");
echo "Photo successfully uploaded!<br>";
}
}
?>
Caption: <br>
<input type="text" name="caption">
<br><br>
Select Album: <br>
<select name="album">
<?php
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$result = $mysqli->query("SELECT * FROM albums");
while ($row = $result->fetch_assoc()) {
$albumID = $row['albumID'];
$title = $row['title'];
echo "<option value='$albumID'>$title</option>";
}
?>
</select>
<br><br>
Select Photo: <br>
<input type="file" name="file">
<br><br>
<input type="submit" name="upload" value="Upload">
</form>
С помощью этого кода, я могу успешно загрузить фотографию в папку «загрузки» на моем сервере. Однако, когда я проверяю phpmyadmin, в таблице «Фотографии» не добавляется фотография. Я хотел бы добавить, что схемы для моих 'фотографий' и таблица 'альбомов' являются: ФОТО (подпись, IMAGE_URL, date_taken, ImageID, идентификатор пользователя) ALBUMS (название, DATE_CREATED, date_modified, ALBUMID)
Что же я неправильно с моим кодом, чтобы загруженные фотографии не отображались в базе данных?
Спасибо!
Читайте на errorchecking: это 'move_uploaded_file' успеха? Успешен ли ваш запрос? (Если нет, укажите ошибки mysql). Вы также можете более четко отделить свою форму от логики. –