运行2个sql语句2个不同的表

时间:2016-10-14 02:27:36

标签: php mysql

我的数据库中有2个表

表格用户 user_id auto

table2 gallery
id auto
USER_ID

当用户在将信息插入用户表时进行注册,有效我想将user_id发送到gallery user_id字段。

我试过以下

$connection = dbconnect();
$stmt = $connection->prepare('INSERT INTO users(user_email, username, user_pwd) VALUES (?,?,?)');
$stmt->bind_param('sss', $email, $username, $password);
$stmt->execute();
$stmt->close();


$connection = dbconnect();
$last_row = mysqli_insert_id($connection);


$connection = dbconnect();
$stmt2 = $connection->prepare('INSERT INTO gallery(user_id) VALUES (?)');
$stmt2->bind_param('s', $last_row);
$stmt2->execute();
$stmt2->close();

1 个答案:

答案 0 :(得分:1)

首先,您不需要创建新连接来获取最后一个插入ID。相反,你可以这样做:

$stmt = $connection->prepare('INSERT INTO users(user_email, username, user_pwd) VALUES (?,?,?)');
$stmt->bind_param('sss', $email, $username, $password);
$stmt->execute();
$last_row = $stmt->insert_id;
$stmt->close();

$connection = dbconnect();
$stmt2 = $connection->prepare('INSERT INTO gallery(user_id) VALUES (?)');
$stmt2->bind_param('s', $last_row);
$stmt2->execute();
$stmt2->close();

另外,如果你的user_id是一个整数,你可以将$last_row绑定为“i”。

除此之外,您应该显示您在问题中收到的错误。