我想将多个图像添加到MySQL数据库

时间:2018-09-09 01:14:04

标签: php mysql image

我正在项目中使用此功能,我想将三(3)张图像以及其他详细信息添加到我的数据库行中,并且我希望这些图像在一行中的单独列中。下面是我的代码。代码尚不可用...图像和文本尚未上载到数据库。 请帮我。我究竟做错了什么。谢谢。

下面是我的代码示例:

// PHP部分//

<?php

session_start();
include 'includes/config.php';

if (isset($_POST['post']) && isset($_POST['itemtype'])) {

    $title = mysqli_real_escape_string($link, $_POST['title']);
    $itemtype = mysqli_real_escape_string($link, $_POST['itemtype']);
    $description = mysqli_real_escape_string($link, $_POST['description']);
    $image1 = $_FILES['image1']['name'];
    $image1_tmp_name = $_FILES['image1']['tmp_name'];
    $image2 = $_FILES['image2']['name'];
    $image2_tmp_name = $_FILES['image2']['tmp_name'];
    $image3 = $_FILES['image3']['name'];
    $image3_tmp_name = $_FILES['image3']['tmp_name'];
    $price = mysqli_real_escape_string($link, $_POST['price']);
    $category = mysqli_real_escape_string($link, $_POST['category']);
    $name = mysqli_real_escape_string($link, $_POST['name']);

    //image file directory
    $target1 = 'images/user_ads/'.basename($image1);
    $target2 = 'images/user_ads/'.basename($image2);
    $target3 = 'images/user_ads/'.basename($image3);

    if (move_uploaded_file($_FILES['image1_tmp_name'], $target1)) {

    }
    if (move_uploaded_file($_FILES['image2_tmp_name'], $target2)) {

    }
    if (move_uploaded_file($_FILES['image3_tmp_name'], $target3)) {

    }

    //insert into ost database
    $insert = "INSERT INTO products(Title,Product_Type,Description,Image1,Image2,Image3,Price,Category,Name,PostedDate)VALUES('$title','$itemtype','$description','$target1','$target2','$target3','$price','$category','$name',NOW())";
    $insertKwary = mysqli_query($link, $insert);

    if ($insertKwary) {
        $msg = "<div class='alert alert-danger alert-success'>Product Submitted</div>";
    }else{
        $msg = "<div class='alert alert-danger alert-success'>Product Not Submitted...Try again</div>";
    }
}

?>

// HTML部分//

<div class="col-md-8 col-md-offset-2">
                    <?php if(isset($msg)) { echo $msg; } ?>
                    <form action="" method="POST" enctype="multipart/form-data" class="postAdForm" id="postAdForm">
                        <div class="form-group">
                            <label for="Ad_title">Item Title</label>
                            <input type="text" name="title" class="form-control title" id="title" required=""/>
                        </div>
                        <div class="form-group">
                            <label for="itemtype">Item Type</label>
                            <select class="form-control" name="itemtype" id="itemtype">
                                <option>Sale</option>
                                <option>Request</option>
                            </select>
                        </div>
                        <div class="form-group">
                            <label for="description">Item Description</label>
                            <textarea name="description" class="form-control description" id="description" rows="7" required=""></textarea>
                        </div>
                        <div class="form-group">
                            <label for="price">First Image</label>
                            <input type="file" name="image1" class="form-control image1" id="image1" required="" />
                        </div>
                        <div class="form-group">
                            <label for="price">Second Image</label>
                            <input type="file" name="image2" class="form-control image2" id="image2" required="" />
                        </div>
                        <div class="form-group">
                            <label for="price">Third Image</label>
                            <input type="file" name="image3" class="form-control image3" id="image3" required="" />
                        </div>
                        <div class="form-group">
                            <label for="price">Price</label>
                            <input type="text" name="price" class="form-control price" id="price" required="" />
                        </div>
                        <div class="form-group">
                            <label for="category">Item Category</label>
                            <select class="form-control" name="category" id="category">
                                <option>Sale</option>
                                <option>Request</option>
                            </select>
                        </div>
                        <div class="form-group">
                            <label for="price">Name</label>
                            <input type="text" name="name" class="form-control name" id="name" required="" readonly="" />
                        </div>
                        <div class="form-group">
                            <input type="submit" name="post" class="btn btn-post post" id="post" value="POST AD" />
                        </div>
                    </form>
                </div>

我还附上了我遇到的错误的图片。

image of web page showing thee errors i get..error gotten

1 个答案:

答案 0 :(得分:0)

该错误是由于以下几行引起的:

if (move_uploaded_file($_FILES['image1_tmp_name'], $target1)) {
}
if (move_uploaded_file($_FILES['image2_tmp_name'], $target2)) {
}
if (move_uploaded_file($_FILES['image3_tmp_name'], $target3)) {
}

您要设置$ image1_tmp_name,而不是$ _FILES ['image1_tmp_name']。

尝试一下:

if (move_uploaded_file($image1_tmp_name, $target1)) {
}
if (move_uploaded_file($image2_tmp_name, $target2)) {
}
if (move_uploaded_file($image3_tmp_name, $target3)) {
}

编辑:使用mysqli_error()打印错误有助于解决其他问题(在注释中提及)