0
我有这个代码产生的复选框:多选框数据库中插入与MySQL准备
while($row = $result->fetch_assoc()) {
echo "<input type='checkbox' name='branch[]' value='".$row['id']."'> ".$row['name']."<br>";
}
我需要在MySQL数据库中插入每一个复选框的值。代码,我已插入它的每个复选框,但只有$member_id
,$branch
总是插入为0.我做错了什么?
$sql = "SELECT id FROM members WHERE email='$email'";
$result = mysqli_query($mysqli,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$member_id = $row["id"];
$checked_arr = $_POST['branch'];
$branch_count = count($checked_arr);
for ($i = 0; $i < $branch_count; $i++) {
if ($insert_stmt_branch = $mysqli->prepare("INSERT INTO members_branch (member, branch) VALUES (?, ?)")){
$insert_stmt_branch->bind_param('ss', $member_id, $branch);
if (! $insert_stmt_branch->execute()) {
echo "ERROR: branch insert";
}
}
}
检查从获取'$ member_id'和'$ branch'值的位置获取的数组。 ''insert_stmt_branch-> bind_param('ss',$ member_id,$ branch)''var_dump($ row)' – Aditya 2014-12-05 18:23:07
''$ branch';'不存在。你想使用'$ checked_arr [$ i]' - >'$ insert_stmt_branch-> bind_param('ss',$ member_id,$ checked_arr [$ i]);' – Sean 2014-12-05 18:23:20
你可能应该''准备'你的SQL *循环,所以你可以重复使用它。 – Quentin 2014-12-05 18:23:33