我正在尝试使用选择列表在数据库中插入多个值。到目前为止我得到了什么:
HTML
<form enctype="multipart/form-data" action="" method="post">
<select name="cars[]" multiple="multiple" style="width:300px">
<?php
$getcars = mysql_query("SELECT cars_id, cars_name FROM car");
while ($row = mysql_fetch_assoc($getcars)) {
$car_id = $row['cars_id'];
$car_name = $row['cars_name'];
?>
<option value="<?php echo $car_id ?>"><?php echo $car_name ?></option>
<?php } ?>
</select><br />
<input type="submit" name="submit" value="Submit"/><br/>
</form>
PHP
$cars= $_POST['cars'];
echo $cars;
for($i = 0; $i < count($cars); $i++){
echo $cars[$i];
$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')");
}
不幸的是它不起作用,我尝试打印 $cars 来检查结果值。它打印“Array”,当我尝试打印 $cars[$i] 时,它什么也没打印。
有谁知道问题是什么?
有一个额外的结束括号应该被删除。您不会检查查询是否成功。
$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')");
应该:
$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]')") or die(mysql_error());
由于 $cars 是一个数组,您可以使用以下命令打印其内容print_r http://php.net/print_r or var_dump http://php.net/var_dump:
print_r($cars);
var_dump($cars);
有用的阅读:
如何在 PHP 中获取有用的错误消息? https://stackoverflow.com/q/845021/1409082
mysql_* 函数已弃用 https://stackoverflow.com/q/15293872/1409082
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)