<form action="4.php" method="POST">
<select name="select2[]" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<select name="select[]" multiple>
<option value="volvo1">Volvo1</option>
<option value="saab2">Saab2</option>
<option value="opel3">Opel3</option>
<option value="audi4">Audi4</option>
</select>
<input type="submit" name="sub" value="submit">
</form>
4.php阵列是不是插入数据库
<?php
mysql_connect("localhost", "root", "");
$db=mysql_select_db("test");
if(isset($_POST['sub'])) {
$r=$_POST['select2'];
$f=$_POST['select'];
$val1 = implode("", $r);
$val2 = implode("", $f);
$r=mysql_query("insert into test1 (test,test1) values ('$val1','$val2') ");
}
?>
我在PHP语言工作。我使用的选择多,并试图在我的数据库中添加值,但在一行中的所有值仅
这到底是什么问题?你想要插入多行吗?它没有插入单行吗?请详细说明。 – David
@大卫是的。例如,如果我有两列,即测试和测试1 ........,并且我从一个选择中选择volvo和saab,从其他选择中选择volvo1和saab1 ............... ..its显示我这样在一行volvovolvo1在测试和saabsaab1在test1 –
那么,你只是在数据库上执行一个'INSERT'语句,所以它只会插入一行。您还明确使用'implode()'将数组变为单行的单个值。这听起来像你想要做的是循环访问数组并执行多个'mysql_query()'调用,每一行将被插入到数据库中。 (另外,你一定要考虑使用'mysqli'而不是'mysql',并使用预准备语句和参数化查询。目前你的代码容易受到SQL注入攻击。) – David