php - 执行 mysqli 插入查询然后立即选择新行的 ID

标签 php mysql sql mysqli

我花了几个小时尝试编写 mysqli 查询以在数据库中插入一个新行(使用主键 ID),然后选择新行的 ID。我目前的代码:

<?php
    include('connectionData.php');

    $conn = mysqli_connect($server, $user, $pass, $dbname, $port)
    or die('Connection error');

    if(isset($_POST['submit'])) {
        $pnum = $_POST['pnum'];

        $phone_insert_text = "INSERT INTO `voterdatabase`.`phone` (`pnum`) VALUES (?)";
        $phone_insert_query = $conn->prepare($phone_insert_text);
        $phone_insert_query->bind_param('s', $pnum);
        $phone_insert_query->execute();

        $phone_select_text = "SELECT phone_id FROM voterdatabase.phone WHERE pnum=?";
        $phone_select_query = $conn->prepare($phone_select_text);
        $phone_select_query->bind_param('s', $pnum);
        $phone_select_query->execute();
        $phone_select_query->bind_result($phone_id);

        echo $phone_id;
?>

$phone_insert_query 执行没有问题。但是 $phone_select_query 似乎根本没有运行,因为 echo $phone_id; 没有效果。这里可能发生了什么?我能够直接在 MySQLWorkbench 中运行查询。

请注意,我之前尝试使用 SELECT LAST_INSERT_ID(); 在一个查询中执行此操作,但 mysqli 无法执行任何包含该查询的查询。

最佳答案

请试试这个

 $lastInsertID= mysqli_insert_id($conn);

关于php - 执行 mysqli 插入查询然后立即选择新行的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34255152/

相关文章:

php - 找不到在 joomla db 中插入文章的良好编码

php - 命中 'back' 时重置复选框值

javascript - 如何使用ajax提交表单请求而不刷新页面并在laravel中返回消息?

php - MYSQL/PHP 计算重复出现问题的答案

python - Python 参数化 MySQL 查询中的转义反斜杠

php - Yii2 安装使用 composer 报错

python - 在 SQL 查询中使用字典键作为字段名称

javascript - javascript中的价格滑动条给出适当的结果

c# - 从 DataSet 创建 SQL Server 数据库

mysql - 触发以将 N 个默认值插入行