PHP 多个下拉框表单提交到 MySQL(第 2 部分)

标签 php mysql html

这是讨论的延续

PHP Multiple Dropdown Box Form Submit To MySQL

其结尾是:“一旦有了变量,创建新行就很简单了。”毫无疑问,这通常是正确的,但显然不适合这个学习者......:-D

给定以下形式:

    <form action="form.php" method="POST">
    <select name="colors[]" multiple="yes" size="2">
    <option>Red</option>
    <option>Blue</option>
    </select>
    <input type="submit" value="Go!"> 
    </form>

如何创建新行?以下脚本

foreach($_POST['colors[]'] as $color) 
    {
        $id = mysqli_real_escape_string($link, $color);
        $sql = "INSERT INTO colors SET id = '$id'";
    }

引发错误

 Warning: Invalid argument supplied for foreach() in form.php on line ...

而以下内容

    $colors = $_POST['colors[]']; 
    for ($i = 0; $i < count($colors); $i++) 
        {
            $color = $colors[$i];
            $sql = "INSERT INTO colors SET id = '$color'";
        }

不会引发错误,但不会创建行。

我在这里错过了什么琐事?

最佳答案

用途:

foreach($_POST['colors'] as $color) 

这里不需要指定[],php知道它是一个数组。

关于PHP 多个下拉框表单提交到 MySQL(第 2 部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222902/

相关文章:

mysql - 求助!如何创建一个新列来显示两个不同时期之间的持续时间

html - 如何在 HTML/CSS 中设置百分比高度值

php - 我需要使用 mysql_close(connection) 吗?

php - 防止 MySQL LONGSTRING 值丢失回车符

mysql - 访问 MySQL 触发器中的上一行值

html - 垂直居中对齐时,div 中的文本会溢出到外部

html - 如何使菜单在平板电脑模式下可折叠(最小宽度 : 768px) and (max-width: 991px)?

PHP AMQP 在请求中传递 header

php - 使用 Javascript 的 PHP 中的第一个下拉框不会保留我的选择

php - 如果 Var 为空,如何隐藏 div?