我想更改教师列表中每个学生的成绩。 我不知道这里出了什么问题。 请你能帮帮我吗? 这是sub-doc.php的代码
这是savesub_doc.php
<?php
if(isset($_POST["submit"])) {
foreach($_POST['sh_grade'] as $gr){
$i =$_POST['sh_id'];
$sqiil="UPDATE grade SET sh_grade[]='$gr' WHERE sh_id='$i' ";
if(mysqli_query($conn,$sqiil)){
}
}}
?>
子文档.php
<input type="hidden" name="sh_id[]" value="<?php echo $row["sh_id"]; ?>" >
<input type="text" name="sh_grade[]" value='<?php echo $row['sh_grade'];?>">
<input type="submit" value="Submit" name="submit">
最佳答案
您应该使用参数化查询来防止 SQL 注入(inject)。而且我怀疑表列的名称中是否包含 []
。
您还需要索引$_POST['sh_id']
以获得每个年级对应的ID。
if (isset($_POST['submit'])) {
$stmt = mysqli_prepare($conn, "UPDATE grade SET sh_grade = ? WHERE sh_id = ?");
mysqli_stmt_bind_param($stmt, "si", $gr, $id);
foreach ($_POST['sh_grade'] as $i => $gr) {
$id = $_POST['sh_id'][$i];
mysqli_stmt_execute($stmt);
}
}
关于php - 一次更新多个等级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43291792/