【发布时间】:2022-01-23 04:17:43
【问题描述】:
我想
insert
3 个表中数据数组的值。在一个
insert
中,一切正常,但在多个插入中没有。另外,如果1/3表插入失败,有什么办法可以取消这个过程?
我的代码:
if($_POST["action"] == 'Add')
{
$data = array(
':afm' => $_POST["afm"],
':fname' => $visitor->clean_input($_POST["fname"]),
':lname' => $visitor->clean_input($_POST["lname"]),
':city' => $visitor->clean_input($_POST["city"]),
':street' => $visitor->clean_input($_POST["street"]),
':company' => $_POST["company"],
':email' => $_POST["email"],
':phone' => $_POST["phone"],
':make' => $_POST["make"],
':model' => $_POST["model"],
':gen' => $_POST["gen"],
':engine' => $_POST["engine"],
':plate' => $_POST["plate"],
':vin' => $_POST["vin"]
);
$visitor->query = "
INSERT INTO Client
(afm, fname, lname, city, street, company, email)
VALUES (:afm, :fname, :lname, :city, :street, :company, :email)
";
$visitor->query = "
INSERT INTO Phone
(phone_type, phone, clientID)
VALUES ("main phone", :phone, :afm)
";
$visitor->query = "
INSERT INTO Vehicle
(plate, make, model, gen, engine, vin, clientID)
VALUES (:plate, :make, :model, :gen, :engine, :vin, :afm)
";
$visitor->execute($data);
echo 'success!';
}
-
是的,有办法做到这一点。使用事务。更多帖子 here
-
这能回答你的问题吗? Insert into multiple tables in one query