Py学习  »  DATABASE

注册新用户后将自动递增的ID保存到另一个表中(PHP、mysqli)

fl3xf1t • 6 年前 • 2385 次点击  

我试图保存自动递增的ID,当新用户在第二个表“userdaten”中填写注册表时,将在“accounts”表中创建该ID。

image of table 'accounts'

image of table 'userdata'

if ($stmt = $con->prepare('INSERT INTO accounts (username, password, email) VALUES (?, ?, ?)')) {

    $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
    $stmt->bind_param('sss', $_POST['username'], $password, $_POST['email']);
    $stmt->execute();
    echo 'Data saved in table accounts';

    $stmt2 = $con->prepare('INSERT INTO userdaten (name, vorname, gebdatum, strasse, hnr, plz, ort) VALUES (?, ?, ?, ?, ?, ?, ?)');
    $stmt2->bind_param('sssssss', $_POST['name'], $_POST['vorname'], $_POST['gebdatum'], $_POST['strasse'], $_POST['hausnummer'], $_POST['plz'], $_POST['ort']);
    $stmt2->execute();
    echo 'Data saved in table userdaten';

我试着让它和 mysqli_insert_id 在过去的一个小时里,但我没能成功。

知道我要改变什么吗?上面的代码没有错误,并且是有效的,除了自动递增的“id”只保存在“accounts”中。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54145
文章 [ 1 ]  |  最新文章 6 年前
Nick
Reply   •   1 楼
Nick    6 年前

你可以用 LAST_INSERT_ID() 获取自动增量 id 上次插入查询的值,并在当前查询中使用它。所以改变你的 userdaten 查询到:

$stmt2 = $con->prepare('INSERT INTO userdaten (id, name, vorname, gebdatum, strasse, hnr, plz, ort)
                        VALUES (LAST_INSERT_ID(), ?, ?, ?, ?, ?, ?, ?)');