我的数据库中有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/