我想一次在两个表中插入日期。一个表是用户表。用户注册时将保存日期。但是我想,当管理员将在捐赠表格中插入日期时,tbl_user的donation_date将被更改,在那之后捐赠表日期和tbl_user日期将是相同的。这是2张桌子donate table User table的图片........谢谢!
这是我的代码
<?php
if (isset($_POST['passport_IC']) && isset($_POST['blood_group']) && isset($_POST['blood_bag']) && isset($_POST['donation_date'])) {
$passport_ic=$_POST['passport_IC'];
$blood_group=$_POST['blood_group'];
$blood_bag=$_POST['blood_bag'];
$donate_date=$_POST['donation_date'];
$db=new PDO('mysql:host=localhost;dbname=mypro_bms','root','');
$statement = $db->prepare("insert into donate(passport_ic,blood_group,blood_bag,donation_date) values(:passport_IC, :blood_group, :blood_bag, :donation_date)");
$statement->execute([
':passport_IC' => $passport_ic,
':blood_group' => $blood_group,
':blood_bag' => $blood_bag,
':donation_date' => $donate_date
]);
}
?>
<?php
if (isset($_POST['donation_date']) && isset($_POST['passport_IC']) ){
$passport_ic=$_POST['passport_IC'];
$donate_date=$_POST['donation_date'];
$db=new PDO('mysql:host=localhost;dbname=mypro_bms','root','');
$statement = $db->prepare("INSERT INTO `tbl_user` (`donation_date`)
SELECT :passport_IC
FROM donate
WHERE passport_IC = :passport_IC");
}
?>
答案 0 :(得分:2)
tbl_user
不会更新,因为您正在执行INSERT
查询。当该行存在时,您将无法再次执行INSERT
查询。尝试使用此
$data = [
'donation_date' => $donation_date,
'passport_IC' => $passport_ic,
];
$sql = "UPDATE tbl_user SET donation_date=:donation_date WHERE passport_IC = :passport_IC";
$stmt= $db->prepare($sql);
$stmt->execute($data);
我没有检查这段代码,但是应该可以。