我有一个foreach
循环,它接收复选框数据并将其作为自己的行插入到数据库中。在每种情况下,第一个成功输入,而第二个和之后未能进入。我知道数据正在被读取,因为我通过PHP回应它,但它只是没有将它插入到数据库中。
以下是代码:
if(isset($_POST['submit'])){
$names=$_POST['names'];
$check=$_SESSION['user'];
$queryNUMERO2 = "SELECT * FROM `meeting` WHERE chairman='".$check."' ORDER BY id DESC";
if($resultNUMERO2 = mysqli_query($db, $queryNUMERO2)){
foreach($names as $user){
$row2 = mysqli_fetch_array($resultNUMERO2);
$meetingId = $row2['id'];
$meetingDate = $row2['time'];
$meetingTitle = $row2['title'];
echo $user;
$insertQuery = "INSERT INTO `usermeet` (`id`, `username`, `date`, `title`) VALUE ('".$meetingId."', '".$user."', '".$meetingDate."', '".$meetingTitle."')";
if($result = mysqli_query($db, $insertQuery)){
echo "success";
}
else{
echo "failure";
}
}
}
}
当我这样做时,服务器的输入是:(用户名)然后(成功)第一个。然后它会说(username2)(失败)(username3)(失败),即使它反复进行相同的查询。谁能指出为什么?
我在查询中尝试VALUES
,但结果相同。
以下是用户勾选复选框的代码。
<?php
$num=0;
$query = 'SELECT * FROM `users`';
if(!($result = mysqli_query($db,$query))){
echo 'Retrieval of data from Database Failed - #'.mysqli_errno().': '.mysqli_error();
}
while( $row = mysqli_fetch_array($result) ){
echo "
<tr>
<th></th>
<th>{$row['firstname']} {$row['lastname']}</th>
<th><div class=\"form-check\">
<label class=\"form-check-label\">
<input class=\"form-check-input\" type=\"checkbox\" name=\"names[]\" id=\"blankCheckbox\" value=\"{$row['username']}\">
</label>
</div></th>
<th></th>
</tr>
</form>
";
}
?>