gpt4 book ai didi

php - 使用两个单独的查询插入两个表

转载 作者:行者123 更新时间:2023-11-29 12:48:27 26 4
gpt4 key购买 nike

我正在尝试使用两个 SQL 插入查询插入两个表。第一个查询应插入到一个表中,如图所示,第二个语句需要插入到第二个表中。但是,我需要第二个语句才能以某种方式知道分配给第一个查询中的记录的故事 ID (SID) 是什么。 SID是表“stories”中的主键和auto_increments,它是表中的一个字段:writing“

然后我想以某种方式(我假设使用 JOIN)使用分配给第一个查询的 SID 填充写入表中的 SID。但是代码如何知道哪条记录刚刚插入到第一个查询中以获取该 SID?

// Get values from form 
$category = $_POST['category'];
$genre = $_POST['genre'];
$story_name = $_POST['story_name'];
$text = $_POST['text'];


$query = "INSERT INTO stories (ID, category, genre, story_name, active) VALUES
('$user_ID', '$category', '$genre','$story_name', '1')";

$result = mysql_query($query);
$SID = mysql_insert_id();
$SID2 = "select stories.SID from stories where stories.SID=$SID";

$query2 = "INSERT INTO writing (ID, SID, text, position, approved)
VALUES('$user_ID', '$SID2', '$text', '1','N')";


$result = mysql_query($query2);

最佳答案

只需使用 mysql_insert_id()数据库调用之间。

$query = "INSERT INTO stories (ID, category, genre, story_name, active)  VALUES
('$user_ID', '$category', '$genre','$story_name', '1')";
$result = mysql_query($query2);
$sid = mysql_insert_id(); // <-- GET ID

$query2 = "INSERT INTO writing (ID, SID, text, position, approved)
VALUES('$user_ID', '$sid', '$text', '1','N')"; // <-- you can now use $sid here
$result = mysql_query($query);

仅供引用,you shouldn't use mysql_* functions in new code 。它们不再维护and are officially deprecated 。请参阅red box ?了解 prepared statements相反,并使用 PDOMySQLi -this article将帮助您决定哪个。如果您选择 PDO,here is a good tutorial .

关于php - 使用两个单独的查询插入两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25106166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com