【问题标题】:Getting latest inserted auto-incremented record id using fat-free-framework使用 fat-free-framework 获取最新插入的自动递增记录 id
【发布时间】:2014-02-25 01:21:04
【问题描述】:

我需要获取表中最新插入记录的 id(AUTO-INCREMENTED)。 我正在使用无脂肪框架。

我试图通过使用获取最新的 id

$id = mysql_insert_id();

但它给了我这个错误

拒绝用户“root”@“localhost”访问(使用密码:否)

我正在使用无脂肪框架访问数据库,而不是使用传统的 php 函数。谁能指导我如何做到这一点?

【问题讨论】:

    标签: php mysql auto-increment fat-free-framework


    【解决方案1】:

    插入记录后试试这个代码

    $id = $db->lastInsertId();
    

    【讨论】:

      【解决方案2】:

      除了 kumar_v 的回答,F3 会在插入成功后自动填充$db->_id

      【讨论】:

      • 前导下划线通常表示“内部”或潜在的“私有”内容,其实现可能在未来发生变化。我最好使用@kumar_v 解决方案,即使它可能只不过是$db->_id 的包装。但既然你永远不知道......
      【解决方案3】:

      请注意,如果您使用 SQL Mapper 在表中创建行,则可以这样做

      $object->id;
      

      示例(使用包含引号的表格):

      $quote = new DB\SQL\Mapper($db, 'quotes');
      if($_POST){
          //overwrite with values just submitted
          $quote->copyFrom('POST');
          $quote->save();
          die("new quote added with id:".$quote->id);
      }
      

      【讨论】:

        【解决方案4】:
        $quote = new DB\SQL\Mapper($db, 'quotes');
        $quote->get('_id');
        

        其中 '_id' 是表的 id 自动递增 id 字段,将 '_id' 替换为您的 您可以阅读文档: https://fatfreeframework.com/3.6/sql-mapper#get

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-11
          • 1970-01-01
          • 2018-11-06
          • 2020-02-01
          • 2013-02-28
          • 1970-01-01
          相关资源
          最近更新 更多