这是讨论的延续
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/