php - 获取最后插入的id返回0

标签 php mysql sql

我正在尝试获取最后插入的行的 ID。这是我的代码:

     if($typ == "baby"){
        $query ="INSERT INTO duell (user_id, type, namensliste)
        VALUES ($id, 1, $duell);";
        $result = get_result($query);
          $duell_id =   $pdo->lastInsertId();
    } else if($typ == "hund"){
        $query ="INSERT INTO duell (user_id, type, namensliste)
        VALUES ($id, 2, $duell);";
       $result = get_result($query);
        $duell_id =   $pdo->lastInsertId();
    }

它不能与lastInsertId()或mysql_insert_id()一起使用,因为它总是返回0,即使我在插入后直接执行它并且查询正常工作。表的id是自增的并且是primary的。我究竟做错了什么? 谢谢您的帮助:)

最佳答案

在你的情况下,如果它不起作用!你可以使用这个:

$duell_id =   get_result("select id from duell order by id DESC limit 1 ")[0]

关于php - 获取最后插入的id返回0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40562358/

相关文章:

php - PHP 的 'unset' 构造在内部如何工作?

mysql - 如何使用代理键执行更新查询

MySQL查询按条件排序

sql - 如何使用 SQL 和 Postgres 替换字符串的第一个字母?

php - 扩展 PDO 准备方法以替换查询前缀

php - 更改 Mysql、php 和 apache2 日志文件格式

PHP:将一个类的所有函数包装在一个子类中

Php 没有返回正确的 MIME 类型

php - 将存储的日期和时间转换为用户友好的输出

mysql - SQL 查询不返回唯一结果。我需要使用哪种类型的联接?