1

我正在尝试构建一个表单以允许将关键字绑定到文章。此 SQL 语句直接用作查询,但我不知道如何将其打包为 pdo 语句。它将关键字添加到关键字表和关键字 ID + 文章 ID 到多对多映射表。

$insertK = $dbh->prepare("INSERT IGNORE INTO Keywords (Keyword)
VALUES (:KeywordID1);
INSERT INTO Keyword_Article (KeywordID, ArticleID)
VALUES ((SELECT KeywordID FROM Keywords WHERE Keyword = :KeywordID2), :ArticleID)");

$insertK->bindParam(':KeywordID1',  $keywordID);
$insertK->bindParam(':KeywordID2',  $keywordID);
$insertK->bindParam(':ArticleID',  $articleID);
$insertK->excecute();

我已经看到 PDO 插入了几种不同的方式,但没有一种将两条语句插入两个不同的表中。

编辑* 如果不可能,那么我如何确保在运行第二个查询之前完成第一个插入?

4

1 回答 1

4

这是很常见的误解。
出于某种原因,人们不断尝试在一次调用中填充尽可能多的查询。
虽然实际上根本没有理由。

只需按常规方式逐一运行所有查询。
它绝对没有错。

于 2013-02-05T05:41:21.573 回答