【发布时间】:2018-07-28 01:20:14
【问题描述】:
我正在使用 php 开发一个投资组合基础网站,当我将一个或两个图像上传到数据库时,这些图像存储在数据库中但有两次,例如,当我上传一个名为 image.png 的图像时,像 id=1 name=image.png, id=2 name=image.png 一样存储两次。
代码在下面添加谢谢帮助..!
<?php
if (isset($_POST['upload'])) {
if (count($_FILES['images']['name']) > 0) {
for ($i = 0; $i < count($_FILES['images']['name']); $i++) {
$date = date('d-m-Y');
$images = $_FILES['images']['name'][$i];
$images_tmp = $_FILES['images']['tmp_name'][$i];
if (empty($images)) {
$error = "PLEASE SELECT AT LEAST ONE PHOTO.";
} else {
$insert_query = "INSERT INTO `portfolio` (`image_id`, `date`, `images`, `user_id`) VALUES (NULL, '$date', '$images', '" . $_SESSION['user_id'] . "')";
}
if (mysqli_query($con, $insert_query)) {
$msg = "IMAGE UPLOADED TO YOUR PORTFOLIO";
} else {
$error = "IMAGE UPLOADING FAILED, PLEASE CHECK";
}
if (mysqli_query($con, $insert_query)) {
move_uploaded_file($images_tmp, "../uploads/$images");
}
}
}
}
?>
【问题讨论】:
-
好像你执行了两次插入查询
-
好像你在不理解的情况下执行
-
已解决,因为在末尾添加了一些不需要的 if 语句。我刚刚删除了 if 语句和 move_uploaded_file 将其从 if 语句中排除... if (mysqli_query($con, $insert_query)) { move_uploaded_file($images_tmp, "../uploads/$images"); }
标签: php database image file mysqli