2010-05-31 70 views
0

我试图检索插入到表'authors'中的最后一条记录的ID,并将检索到的ID插入'articles'表中;这里是我的代码:php检索插入的最后一条记录的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')"; 

这行不通......

任何想法吗?

由于提前

莫罗

+0

“不起作用”是信息不足。你做了什么调试?什么,确切地说,不工作? – Donnie 2010-05-31 23:10:46

回答

2

,您就能获得最后插入的ID与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功能,我们已加入也在上面代码中。

+0

非常感谢Sarfraz!有用! – Mauro74 2010-05-31 23:29:20

+0

@ Mauro74:不客气:) – Sarfraz 2010-05-31 23:41:56

1

究竟不起作用。 $authId包含期望值吗?你倾倒它检查?

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

0

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

相关问题