【发布时间】:2013-02-05 05:33:21
【问题描述】:
我正在尝试构建一个表单以允许将关键字绑定到文章。此 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 插入几种不同的方法,但没有一种方法可以将两条语句插入到两个不同的表中。
编辑* 如果不可能,那么我如何确保在运行第二个查询之前完成第一个插入?
【问题讨论】:
-
据我所知,第一个插入应该阻塞(脚本应该等待)直到查询完成。不过我可能是错的。