0

我正在尝试检索插入到表“作者”中的最后一条记录的 ID,并将检索到的 ID 插入到“文章”表中;这是我的代码:

$title = mysql_real_escape_string($_POST[title]);
$body = mysql_real_escape_string($_POST[body]);
$category = mysql_real_escape_string($_POST[category]);

$insert_author="INSERT INTO authors (name) VALUES ('$title')";
$select_author= mysql_query("SELECT LAST_INSERT_ID()");

$authId = mysql_fetch_array($select_author);
$query="INSERT INTO articles (body, date, category, auth_id) VALUES ('$body', '$date_now', '$category', '$authId')";

这行不通...

请问有什么想法吗?

提前致谢

毛罗

4

4 回答 4

2

你可以得到最后一个插入IDmysql_insert_id()

$insert_author="INSERT INTO authors (name) VALUES ('$title')";
mysql_query($insert_author) or die(mysql_error());

$authId = mysql_insert_id();

$query="INSERT INTO articles (body, date, category, auth_id) VALUES
('$body', '$date_now', '$category', '$authId')";

请注意,您缺少mysql_query插入查询的功能,我也在上面的代码中添加了该功能。

于 2010-05-31T23:09:36.247 回答
1

究竟是什么行不通。是否$authId包含预期值?你把它扔了检查吗?

除此之外,你忘记了第二个mysql_query()

于 2010-05-31T23:08:13.973 回答
1

改用 mysql-insert-id

于 2010-05-31T23:09:45.487 回答
0

顾名思义,它mysql_fetch_array($select_author)返回一个数组,因此您需要获取该数组中的特定值才能插入到另一个表中。

于 2010-05-31T23:13:42.373 回答