我到处寻找并不断得到不同的答案和错误的代码。我想要做的就是在MySQL中为我的数据库添加一个字段后,获取刚刚创建的字段的user_id。我似乎无法做到这一点?
我正在使用它来输入字段并感谢您的帮助。它的user_id值为auto_increment
,这是我需要得到的。
mysqli_query($con,"INSERT INTO users_accounts (business, email_uniq)
VALUES ('$business', '$email_uniq')");
答案 0 :(得分:1)
在插入查询后使用此
$last_row = mysqli_insert_id($con);
答案 1 :(得分:0)
您可以返回用
插入的最后一行的主键$last_id = mysqli_insert_id($con);
您可以在此处找到更多信息:http://php.net/manual/en/mysqli.insert-id.php
答案 2 :(得分:0)
执行查询后,您可以使用mysqli :: $ insert_id值或mysqli_insert_id函数来检索上次生成的ID,如下所示:
mysqli_query($con,"INSERT INTO users_accounts (business, email_uniq) VALUES ('$business', '$email_uniq')");
$insert_id = mysqli_insert_id($con);
或使用对象函数:
$con->query("INSERT INTO users_accounts (business, email_uniq) VALUES ('$business', '$email_uniq')");
$insert_id = $con->insert_id;
编辑:没有关系,但绝对重要! 如果这些参数$ business或$ email_uniq中的任何一个的值都是用户提供的,则强烈建议确保它们已正确过滤。最简单的方法是使用准备好的安全语句(http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。以下是使用预准备语句的代码:
$stmt = $con->prepare("INSERT INTO users_accounts (business, email_uniq) VALUES (?,?)");
$stmt->bind_param("ss", $business, $email_uniq);
$stmt->execute();
$insert_id = $con->insert_id;