2011-10-11 107 views
0

我正試圖在用戶註冊到我的網站時同時插入3個表格。 這裏是我的表格:多個插入查詢和中間傳遞變量。 mysql和php

UPDATED ANSWER。簡化了問題:

表1

ControlPanelID 
UserDescription 
ChannelCommentsID 
UserID 

表2

UserID 
UserName 
Password 
Email 
Reputation 
ControlPanelID 
Role 

這裏是我的3 INSERT語句:

$queryString= 
      "INSERT INTO ControlPanel VALUES("",ChannelCommentsID , userID)". 
      "INSERT INTO users VALUES($userNam,$pass,$email, ,'anonym')"; 

我想要的用戶名行兩個表中增加如何成爲成就感?

換句話說兩次打開與數據庫的連接...(即2個查詢)?

+0

你的模式是不是第三範式ER! :S – JellyBelly

+0

基本上這就是我想要的。用戶填寫表單,...他的名字和詳細信息正在創建,然後用戶標識符會變爲1.但是我希望UserID在ControlPanel中增加1 。這怎麼做?!? –

+1

我的意思是你不能擁有這個屬性的兩張桌子!是不是一個設計良好的數據庫,然後我認爲這是不可能做到你想要的! – JellyBelly

回答

0

您可以使用LAST_INSERT_ID()來獲取前一個INSERT的AUTOINCREMENT列的值。

在特定情況下,這可能是一個可行的解決方案

$queryString= 
    "INSERT INTO users VALUES($userNam,$pass,$email, ,'anomy')". 
    "INSERT INTO ControlPanel VALUES("",ChannelCommentsID , LAST_INSERT_ID())"; 
+0

我認爲那聲明就足夠了..謝謝 –

+0

德米特里, 不用謝。 –

-1

表2中的用戶ID字段應具有屬性AUTO_INCREMENT,這將處理每次插入新記錄時自動增加數字。

+0

對不起,我不得不審查我的餐桌設計..我現在糾正它的工作!! 1 –