php检索插入的最后一条记录的id并将其插入另一个表中

时间:2010-05-31 23:05:00

标签: php lastinsertid

我正在尝试检索插入表'authors'中的最后一条记录的id,并将检索到的id插入'articles'表中;这是我的代码:

$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 个答案:

答案 0 :(得分:2)

您可以使用 mysql_insert_id()

获取最后一次插入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插入查询功能,我已在上面的代码中添加了该功能。

答案 1 :(得分:1)

究竟什么不起作用。 $authId是否包含预期值?你转储它来检查吗?

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

答案 2 :(得分:1)

请尝试mysql-insert-id

答案 3 :(得分:0)

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