Php 为什么foreach循环使用相似的输入产生不同的结果?
我有一个Php 为什么foreach循环使用相似的输入产生不同的结果?,php,mysql,Php,Mysql,我有一个foreach循环,它接受复选框数据并将其作为自己的行插入数据库。在每种情况下,第一个输入成功,而第二个及以后的输入失败。我知道当我通过PHP回显数据时,数据正在被读取,但它没有将数据插入数据库 代码如下: if(isset($_POST['submit'])){ $names=$_POST['names']; $check=$_SESSION['user']; $queryNUMERO2 = "SELECT * FROM `meeting` WHERE c
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";
}
}
}
}
当我这样做时,服务器的输入是:(username)然后(success)作为第一个。然后,它说(username2)(失败)(username3)(失败),即使它一遍又一遍地执行相同的查询。有人能指出原因吗
我在查询中尝试了值
,但结果都是一样的
下面是用户勾选复选框的代码
<?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>
";
}
?>
可能您正在尝试复制唯一密钥?插入同一会议id两次或更多。检查数据库错误。@Progrock是的,就是这样,我刚刚创建了一个没有唯一键或主键的新表,它工作了!谢谢man@Progrock请留下答案,以便我标记回答的问题可能您正在尝试复制唯一密钥?插入同一会议id两次或更多。检查数据库错误。@Progrock是的,就是这样,我刚刚创建了一个没有唯一键或主键的新表,它工作了!谢谢man@Progrock留下一个答案,这样我就可以标记所回答的问题