你有一个小问题。我无法插入db数组......这是我的代码
$qurum1 = implode('|',$_POST['qurum1']);
$qurum = explode('|', $qurum1);
foreach ($qurum as $value) {
$query2 = "INSERT INTO test (data_id, col2) VALUES ('$id', '$value')";
}
此代码仅插入最后一个值
答案 0 :(得分:0)
试试这个
<form method="post">
<input id="value1" value="value1" name="qurum1[]" type="checkbox">
<input id="value2" value="value2" name="qurum1[]" type="checkbox">
<input value="21" name="id" type="hidden">
<input type="submit">
</form>
<?php
if(isset($_POST['qurum1'])){
$invite = $_POST['qurum1'];
$id = $_POST['id'];
$dbObj=mysqli_connect("$dbhost","$dbusername","$dbpasswd","$dbname") or die('Could not connect to DB : ' .mysqli_connect_error());
foreach ($qurum as $value) {
$query2 = "INSERT INTO test (data_id, col2) VALUES ('$id', '$value')";
$ins_sql = mysqli_query($dbObj,$query2);
}
}
?>
现在我已将'id'添加为隐藏元素。
答案 1 :(得分:-3)
您还需要在foreach()函数中添加MySQL查询:
foreach ($qurum as $value) {
$query2 = "INSERT INTO test (data_id, col2) VALUES ($id, $value)";
mysqlExecute($query2);
}
请注意,mysqlExecute()
不存在,您需要使用自己的函数来执行查询。
另请注意,建议不要在循环中执行SQL语句,因为它会在执行多个查询时降低性能。如果您的网页没有太多负载,或者您只是练习它,无论如何都很好。