多个插入查询并在其间传递变量。 mysql和php

时间:2011-10-11 14:50:50

标签: php mysql sql

当用户注册到我的网站时,我试图在3个表中同时插入3个。 这是我的表格:

更新的答案。简化了问题:

表1

 ControlPanelID
 UserDescription
 ChannelCommentsID  
 UserID

表2

UserID
UserName
Password
Email
Reputation
ControlPanelID
Role

以下是我的3个插入声明:

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

我希望UserID行在两个表中递增。这是实现的吗?

换句话说,打开与数据库的连接两次...(即2个查询)?

2 个答案:

答案 0 :(得分:0)

您可以使用LAST_INSERT_ID()来获取上一个INSERT的AUTOINCREMENT列的值。

在您的具体情况下,这可能是一种可能的解决方案

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

答案 1 :(得分:-1)

表2中的UserID字段应具有属性AUTO_INCREMENT,这将处理每次插入新记录时自动增加的数量。