2010-05-31 126 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)返回一個數組,因此您需要獲取該數組中的特定值才能插入另一個表中。

相關問題