我正在尝试将两个INSERT语句放入一个SQL查询中。我尝试了几件事,但似乎无济于事。如果我在互联网上看,它似乎必须工作。但这对我不起作用,并且出现错误。我正在PDO中使用此代码。

我尝试了多种Web浏览器,多种类型的代码,并尝试了“ BEGIN”和“ COMMIT”语句。

$sql = "INSERT INTO gebruiker (email, wachtwoord, rol_id) VALUES (?, ?, 2); ".
"INSERT INTO huisarts (voornaam, achternaam, email, straatnaam, huisnummer, postcode, plaats, telefoonnummer, uid, rol_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, LAST_INSERT_ID(), 2);";
$pdostatement = $pdo->prepare($sql);

最佳答案

除了这个愚蠢的串联错误之外,从技术上讲,可以在一个调用中运行两个INSERT查询,但是这样做的原因并不单一。

此外,您将需要专门配置PDO,以允许不建议进行多个查询。

因此,只需将这两个查询作为两个单独的准备好的语句来运行。

$sql = "INSERT INTO gebruiker (email, wachtwoord, rol_id) VALUES (?, ?, 2)";
$stmt = $pdo->prepare($sql);
$stmt->execute($first_query_data);
$sql = "INSERT INTO huisarts (voornaam, achternaam, email, straatnaam, huisnummer, postcode, plaats, telefoonnummer, uid, rol_id)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, LAST_INSERT_ID(), 2);";
$stmt = $pdo->prepare($sql);
$stmt->execute($second_query_data);

关于php - 是否可以在一个SQL查询中放入两个INSERT语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56355222/

10-17 03:05