2013-04-11 31 views
-2

對不起,問題標題是誤導性的(mods,如果你可以找到更好的標題,請重新命名),但我真的不能想到另一種概括我想要做的事情。我正在編程一個論壇。要開始了,這裏是我的表:如何在MySQL中使用PHP鏈接表?

「主題」表

topic_id INT(8) auto_increment 
topic_subject VARCHAR(255) 
topic_date DATETIME 
topic_cat INT(8) 
topic_by INT(8) 

「帖子」表

post_id INT(8) auto_increment 
post_content TEXT 
post_date DATETIME 
post_topic INT(8) 
post_by int(8) 

當有人想要創建一個新的話題,有他們填寫兩個字段(和提交按鈕):「主題」和「內容」。 FORM方法是POST。當他們點擊提交按鈕時,我正在將$_POST陣列數據收集到兩個陣列中,一個名爲$topic_data(包含「主題」表所需的信息),另一個名爲$post_data(包含'posts'表所需的信息)。但是,問題在於發佈表需要一個'post_topic'字段。該字段是我想鏈接到「主題」表中的auto_incremented'topic_id'字段的內容。

我想我問這個問題的方式是;如何將主題信息插入到「主題」表中,爲剛插入的行獲取auto_incremented'topic_id'字段,並將其插入'posts'中的'post_topic'字段以及其他發佈數據?

+1

那麼你有沒有嘗試過任何編碼來實現這個呢? – 2013-04-11 00:48:29

+0

沒有足夠的麻煩在這裏發佈,因爲我真的不知道從哪裏開始 – 2013-04-11 00:49:55

回答

2

使用mysqliPDO運行MySQL查詢(可以選擇)將主題插入topics表。然後使用mysqli::$insert_idPDO::lastInsertId獲取上次插入主題的主題ID。使用此值可將帖子插入posts表中。

+0

我是使用mysql_query()函數來插入。我可以做類似的事情,還是有一種簡單的方法可以轉換爲mysqli?我從來沒有碰過它 – 2013-04-11 00:48:52

+0

你真的不應該使用'mysql_'函數。它們將很快被棄用,並且不夠安全(因爲它們不允許參數綁定)。無論如何,因爲你正在使用它們,你可以使用['mysql_insert_id()'](http://php.net/manual/en/function.mysql-insert-id.php) – xbonez 2013-04-11 00:50:22

+0

你能幫我找到一種方法將我所有的mysql_函數轉換爲mysqli?無論如何,這將有極大的幫助。非常感謝! – 2013-04-11 00:51:42

相關問題