php - MySQL:从选择标记插入值被截断

标签 php html mysql

我正在尝试从 HTML 选择标签向 MySQL 中插入一个值:

<select name="venuesend">
    <option value="37">LATINO SPORTS CLUB</option>
    <option value="38">RED HOOK VISION CENTER</option>
    <option value="39">ANTHOLOGY FILM ARCHIVES</option>
    <option value="40">HUMMINGBIRD STUDIOS</option>
    <option value="41">THE PRODUCERS CLUB</option>
</select>

因此,如果选择了 LATINO SPORTS CLUB,则应将 37 的值发送到 MySQL。不过,目前,发布到 MySQL 的值一直是 3。所以,我猜这是出于某种原因被截断了。

这是我的 PHP 和 HTML 表单:

<?php

            //if "submit" is clicked
            if(isset($_POST['upload2'])) {


                //check if image files were uploaded
                foreach($_FILES['images']['error'] as $err){
                    switch ($err){
                        case UPLOAD_ERR_NO_FILE:
                            echo 'No file sent.';
                            exit;
                    }
                }

                //iterate through each image file uploaded
                for($x=0; $x<count($_FILES['images']['tmp_name']); $x++){


                    //THIS IS WHERE VENUESEND IS POSTED

                    $screeningID2 = $_POST['venuesend'][$x];
                    $file_name = $_FILES['images']['name'][$x];
                    $file_tmp = $_FILES['images']['tmp_name'][$x];

                    ....

                        //SQL statement and Posting
                        $sql2 = "INSERT INTO screeningImages (screeningId, imageURL) VALUES ('$screeningID2', '$file_name')";
                        mysqli_query($db, $sql2);
                    } else{
                        echo "Only images can be stored.";
                    }
                }
            }

        ?>  

        //HTML Form
        <form method="post" action="screenings-admin.php" enctype="multipart/form-data">


        //SELECT

        <select name="venuesend">
            <option value="37">LATINO SPORTS CLUB</option>
            <option value="38">RED HOOK VISION CENTER</option>
            <option value="39">ANTHOLOGY FILM ARCHIVES</option>
            <option value="40">HUMMINGBIRD STUDIOS</option>
            <option value="41">THE PRODUCERS CLUB</option>
        </select>


            //Images Upload
            <input type="file" id="imageUpload" name="images[]" multiple="" onchange="javascript:updateList()"/>

            //submit button
            <input type="submit" name="upload2" value="Upload" id="upload2">
        </form>

最佳答案

问题是您在调用 37 时试图访问字符串数组 ( $screeningID2 = $_POST['venuesend'][$x];) .

<select> POST 使用 $_POST[id] 传递选定的 ;你实际上不需要引用 $x根本不需要,只需要:

$screeningID2 = $_POST['venuesend'];

你得到 3通过因为$_POST['venuesend']已经是字符串 37 ,您实际上是在获取字符串的第一个字符

希望对您有所帮助! :)

关于php - MySQL:从选择标记插入值被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44297865/

相关文章:

javascript - 更快的图像加载

php - 如何将 PHP 变量发送到模式 Bootstrap 并将其作为 PHP 变量接收?

php - 如何使用 Memcached 存储给定时间的数据

PHP 路由不重定向

html - 嵌套 DIV 和水平滚动条

html - 垂直对齐div中的多个文本框

mysql - 将 2 个 varchar 值之间的一组行分组

mysql - 来自 mySQL 查询的意外结果

php - 根据内容长度用 PHP 更改标签

javascript - jQuery AJAX : Returns request. 成功后失败