此问题已在此处有答案:
How to run multiple insert query in SQL using PHP in one go?(2个答案)
4天前关闭。
我在一个情况下,我需要插入到2表中的查询。我在网上找了一圈,找不到解决办法。我想做的是在user
表中插入值并同时在profile
中插入值。我可以一个接一个地做**,但我读到过这样的方法效率不高,而且被认为是糟糕的编码技术。
当前代码:
$statement = $db->prepare("
BEGIN;
INSERT INTO `user`(`username`, `email`, `password_hashed`, `fname`, `lname`, `dob`, `agreement`, `gender`, `access_token`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);
INSERT INTO `profile_picture`(`owner`) VALUES (LAST_INSERT_ID());
COMMIT;
");
if($statement) {
$statement->bind_param("ssssssiss", $username, $email, $hashedPassword, $fname, $lname, $dob, $agreement, $gender, $access_token);
$statement->execute();
$statement->close();
echo "DONE";
exit();
}
else printf("Error: %s.\n", $db->error);
1条答案
按热度按时间xxslljrj1#
我有这个问题试图复制像弗兰克的答案。正确的做法是:
在执行第一条语句后,您可以使用以下命令从PHP获得对insertID的访问:$last_id = $db-> lastInsert();