我正在尝试检索插入表'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')";
这不起作用......
请问好吗?
先谢谢
莫罗
答案 0 :(得分:2)
您可以使用 mysql_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
插入查询功能,我已在上面的代码中添加了该功能。
答案 1 :(得分:1)
究竟什么不起作用。 $authId
是否包含预期值?你转储它来检查吗?
除此之外,你忘记了第二个mysql_query()
。
答案 2 :(得分:1)
请尝试mysql-insert-id。
答案 3 :(得分:0)
顾名思义,mysql_fetch_array($select_author)
返回一个数组,因此您需要获取该数组中的特定值以插入另一个表中。