【问题标题】:Getting the id of the last record inserted into a MySQL database [duplicate]获取插入 MySQL 数据库的最后一条记录的 id [重复]
【发布时间】:2017-08-24 20:03:59
【问题描述】:

我正在尝试使用MAX(id) 获取插入到 MySQL 数据库中的最后一条记录的 ID。 我不知道为什么我的查询没有返回任何结果。我的 PHP 有什么问题吗?如果我在 phpmyadmin 中尝试,查询就可以工作。

include("db_conx.php"); //Connect to db mysqli
$sql = "SELECT MAX(id) FROM tbl_uploads";  
$result = $db_conx->query($sql);
$row = $result->fetch_assoc();
echo 'last_id: '.$row['id'];

【问题讨论】:

  • print_r($row); 会告诉你。 error_reporting(E_ALL); ini_set('display_errors', '1'); 也会把你带到那里。
  • 打印结果变量。是真是假

标签: php mysql


【解决方案1】:

试试这个:

$sql = "SELECT * FRON tbl_uploads ORDER BY id DESC LIMIT 1";

它会输出你的id。

【讨论】:

    【解决方案2】:

    你可以使用这个内置函数来获取最后一个插入 id

    $last_id = mysqli_insert_id($conn);
    

    如果您想从您的数据库中获取最大记录 id,并且如果 id 这是您的主键,那么您可以使用此代码

    $sql = "SELECT id FROM tbl_uploads order by id desc";  
    $result = $db_conx->query($sql);
    $row = $result->fetch_assoc();
    echo 'last_id: '.$row['id'];
    

    如果您想获得特定的最大记录,请使用此代码。如果您提交了 id,那么您可以使用此代码。你使用别名来获取记录

    $sql = "SELECT MAX(id) as max_id FROM tbl_uploads";  
    $result = $db_conx->query($sql);
    $row = $result->fetch_assoc();
    echo 'last_id: '.$row['max_id'];
    

    【讨论】:

    • 这行不通。 OP想要获取不插入的记录
    • 好的,我也在添加这个
    【解决方案3】:

    在选择查询中使用MAX(id) as id

    include("db_conx.php"); //Connect to db mysqli
    $sql = "SELECT MAX(id) as id FROM tbl_uploads";  
    $result = $db_conx->query($sql);
    $row = $result->fetch_assoc();
    echo 'last_id: '.$row['id'];
    

    【讨论】:

      【解决方案4】:

      使用别名获取值

        $sql = "SELECT MAX(id) as max_id FROM tbl_uploads";  
        $result = $db_conx->query($sql);
        $row = $result->fetch_assoc();
        echo 'last_id: '.$row['max_id'];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-25
        • 1970-01-01
        • 2010-12-14
        • 2018-11-06
        • 2012-02-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多