我的数据库中有2个表

表用户
user_id自动

table2图库
自动识别
用户身份

当用户注册时,它将信息插入到用户表中,这很有效,我想将user_id发送到图库的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();

最佳答案

首先,您无需创建新的连接即可获取最后的插入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”。

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

关于php - 运行2条sql语句2条不同的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40033972/

10-11 03:40