首页 > 解决方案 > 如何以相同的形式包含 2 个文件上传,然后将它们插入 PHP 中的 MYSQL 数据库?

问题描述

我想知道这一点,因为我已经尝试过了,但它没有用。我没有收到任何错误,但数据没有添加到 MYSQL 表中,所以我来到这里希望找出问题所在,因为我无法给出任何答案。这是代码:

if ($resultCheck > 0) {
    echo "You have already created a BSW!";
} else {
    echo
    '<form action="" method="post" enctype="multipart/form-data">
        <input style="margin-left: 10px; margin-top: 5px;" type="text" name="name" placeholder="BSW Name"><br>
        <textarea style="margin-left: 10px; margin-top: 5px; width: 200px; height: 80px;" type="text" name="powers" placeholder="BSW Powers (seprated by commas)"></textarea><br>
        <textarea style="margin-left: 10px; margin-top: 5px; width: 200px; height: 80px;" type="text" name="weaknesses" placeholder="BSW Weaknesses (seprated by commas)"></textarea><br>
        <textarea style="margin-left: 10px; margin-top: 5px; width: 250px; height: 80px;" type="text" name="about" placeholder="BSW About (seprated by commas)"></textarea><br>
        <strong>Are you currently available?</strong>
        <select name="available">
            <option name="yes">yes</option>
            <option name="no">no</option>
        </select><br><br>
        <strong>Icons bigger than 100x100 will be rescaled</strong><br>
        <input style="margin-left: 10px; margin-top: 5px;" type="file" name="icon" multiple><br>
        <strong>Demonstration (Only supports swf and mp4 filetypes): </strong><br>
        <input style="margin-left: 10px; margin-top: 5px;" type="file" name="demo" multiple><br><br>
        <strong>Demo Filetype (Select none if you do not have a demo)</strong><br>
        <select name="filetype">
            <option name="mp4">mp4</option>
            <option name="swf">swf</option>
            <option name="none">none</option>
        </select><br><br>
        <button style="margin-left: 10px; margin-top: 5px;" type="submit" name="bsw">Submit BSW</button><br>
    </form>';
    }
} else {
    echo "Please login.";
}

if (isset($_POST['bsw'])) {
    $name1 = str_replace("<","&lt;",$_POST['name']);
    $name = mysqli_real_escape_string($conn, $name1);

    $powers1 = str_replace("<","&lt;",$_POST['powers']);
    $powers = mysqli_real_escape_string($conn, $powers1);

    $weaknesses1 = str_replace("<","&lt;",$_POST['weaknesses']);
    $weaknesses = mysqli_real_escape_string($conn, $weaknesses1);

    $about1 = str_replace("<","&lt;",$_POST['about']);
    $about = mysqli_real_escape_string($conn, $about1);

    $available1 = str_replace("<","&lt;",$_POST['available']);
    $available = mysqli_real_escape_string($conn, $available1);

    $iconDir = "files/uploads/bsw/icons/";
    $iconName = basename($_FILES['icon']['name']);
    $iconTemp = $_FILES['icon']['tmp_name'];
    $iconError = $_FILES['icon']['error'];
    $iconType = explode('.', $iconName);
    $iconActualType = strtolower(end($iconType));
    $iconAllowed = array('png', 'jpeg', 'jpg', 'gif');

    $owner = $user->data['username'];
    $ownerId = $user->data['user_id'];

    $allowTypes = array('jpg','png','jpeg','gif');

    $demoDir = "files/uploads/bsw/demos/";
    $demoName = basename($_FILES['demo']['name']);
    $demoTemp = $_FILES['demo']['tmp_name'];
    $demoError = $_FILES['demo']['error'];
    $demoType = explode('.', $demoName);
    $demoActualType = strtolower(end($demoType));
    $demoAllowed = array('swf', 'mp4');

    if (empty($name) || empty($powers) || empty($weaknesses) || empty($about) || empty($iconName)){
        echo '<p style="color: red; margin-left: 10px; margin-top: 5px;">Please Fill in All Fields</p>';
    } else {
        if(!in_array($iconActualType, $iconAllowed)) {
            if($iconError === 0) {
                $iconNameNew = uniqid('', true).".".$iconActualType;
                $iconDestination = $iconDir . $iconNameNew;
                move_uploaded_file($iconTemp, $iconDestination);
                if(!in_array($demoActualType, $demoAllowed)) {
                    if($fileError === 0) {
                        $demoNameNew = uniqid('', true).".".$demoActualType;
                        $demoDestination = $demoDir . $demoNameNew;
                        move_uploaded_file($demoTemp, $demoDestination);
                    }
                    if (mysqli_query($conn, "INSERT INTO `bsw`
                            (`bsw_name`, `bsw_about`, `bsw_points`, 
                             `bsw_demo_location`, `bsw_power`, 
                             `bsw_weaknesses`, `bsw_icon_location`, 
                             `bsw_availability`, `bsw_owner`, 
                            `bsw_owner_id`, `bsw_type`)
                        VALUES('$name', '$about', '0', 
                               '$demoDestination', '$powers', '$weaknesses',
                                '$iconDestination', '$available', 
                                '$owner', '$ownerId', '$demoFiletype')")) {
                        echo '';
                    } else {
                        echo "Error: <br>" . mysqli_error($conn);
                    }
                }
            }
        }
    }
}
?>

在此先感谢,任何和所有的帮助表示赞赏。

标签: phpmysql

解决方案


推荐阅读