我们正在为我们的学院开发申请,在费用模块中,我们需要检查学生记录是否已经存在。如果学生记录不存在,我们需要插入我们需要更新记录的记录。我使用的代码如下:
if (isset($_POST['submit'])) {
for($i=0; $i<count($_POST['mca_1_autogen_id']); ++$i){
$sql=mysqli_query($conn,"UPDATE `fees_mca_1` set `Fees_paid`='{$_POST['Fp'][$i]}' where Register_number='{{$_POST['Regno'][$i]}'");
}
header("Location:mca1_fees_report.php");
if(mysqli_affected_rows($conn) == 0){
for($i=0; $i<count($_POST['mca_1_autogen_id']); ++$i){
$sql=mysqli_query($conn,"INSERT INTO `fees_mca_1`(`Register_number`,`Student_name`,`Total_fees`,`Fees_paid`) VALUES ('{$_POST['Regno'][$i]}','{$_POST['Sname'][$i]}','{$_POST['Fees'][$i]}','{$_POST['Fp'][$i]}')") or die("Error: ".mysqli_error($dbc));
}}
header("Location:mca1_fees_report.php");
echo "Record Added Sucessfully";
}
我也试过这个但是没有用
if (isset($_POST['submit'])) {
for($i=0; $i<count($_POST['mca_1_autogen_id']); ++$i){
$sql=mysqli_query($conn,"INSERT INTO `fees_mca_1`(`Register_number`,`Student_name`,`Total_fees`,`Fees_paid`) VALUES ('{$_POST['Regno'][$i]}','{$_POST['Sname'][$i]}','{$_POST['Fees'][$i]}','{$_POST['Fp'][$i]}') ON DUPLICATE KEY UPDATE `Fees_paid` = VALUES({$_POST['Fp'][$i]})");
}
header("Location:mca1_fees_report.php");
echo "Record Added Sucessfully";
}
答案 0 :(得分:2)
你应该改用:
INSERT INTO t1 (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE t1 SET c=c+1 WHERE a=1;
它将检查记录是否重复,然后它将更新它
这是 Official Link to Sql Query。
另请查看ON DUPLICATE KEY
答案 1 :(得分:0)
你应该这样使用:
length === 1
答案 2 :(得分:0)
你应该试试这个
INSERT INTO表(a,b,c)VALUES(1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c = VALUES(a)+ VALUES(b);