迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

使用 PHP MySQLi 函数获取最后插入的 ID

作者:迹忆客 最近更新:2023/05/07 浏览次数:

本篇文章简要介绍了 PHP mysqli() 函数并演示了如何使用它从 MySQL 数据库中获取最后插入的 ID。


PHP mysqli() 函数

它是一个名为 mysqli 的 MySQL 驱动程序扩展版本,通常与 PHP 服务器端脚本一起使用以连接 MySQL 数据库或模式。

首先,您必须连接您的 MySQL 数据库。 connect()mysqli_connect() 函数用于打开与 MySQL 服务器的连接。

在使用该函数之前,您必须创建 mysqli() 对象,其中包含有关您的 MySQL 服务器的参数。

<?php
    $mysqli = new mysqli(
                        "host_name",
                        "username",
                        "password",
                        "database_name",
                        "port",
                        "socket"
              );

    //Checking connection
    if ($mysqli -> connect_errno){
        echo "Something went wrong. Failed to connect with MySQL database".
            $mysqli -> connection_error;
        exit();
    }
    else{
         echo "Connected";
    }
?>

如果没有建立连接,上面的代码会通知用户; 否则,它将在浏览器屏幕上打印已连接。

参数说明

参数 说明
host_name 指定主机名(例如:localhost)或 IP 地址。
username 指定您的 MySQL 数据库的用户名。
password 指定您的 MySQL 数据库的密码。
database_name 提供要在 MySQL 数据库中连接的数据库或模式的名称。
port 用于连接到 MySQL 服务器。
socket 指定套接字或命名管道。

使用 PHP mysqli() 函数获取最后插入的 ID

要完成此任务,您必须创建一个带有 AUTO_INCREMENT 字段的表,该字段将返回最后插入的记录 ID。

为什么有 AUTO_INCREMENT? 每当将新记录插入表中时,自动递增都会自动创建一个唯一编号。

它通常是我们希望在每次插入新记录时自动生成的主键字段。 请参阅以下代码以了解我们如何创建 AUTO_INCREMENT 列:

CREATE TABLE table_name(
    column_name1 INT AUTO_INCREMENT PRIMARY KEY,
    column_name2 VARCHAR(100)
);

INT 列将存储整数值,而 AUTO_INCREMENT 将在插入新记录时自动增加列的值。 最后,PRIMARY KEY 设置约束,只允许列的唯一值。

第二列是可以接受字符串值的 VARCHAR 类型。 为了获取最后插入的 id,mysqli() 提供了 insert_id 命令; 在下面检查:

$mysql->insert_id;

要查看此命令的运行情况,首先,运行 INSERT 查询,然后运行 insert_id 命令以查看最后插入的 ID:

<?php
    $mysqli = new mysqli(
                         "host_name",
                         "username",
                         "password",
                         "database_name",
                         "port",
                         "socket"
              );

        // Checking connection
       if ($mysqli -> connect_errno){
           echo "Something went wrong. Failed to connect with MySQL database".
               $mysqli -> connection_error;
           exit();
       }else{
           echo "Connected";
       }

       $sql_query = "INSERT INTO table_name (column_name2) VALUES ('value_2')";

       if ($mysqli->query($sql_query) === TRUE) {
           printf("Last inserted record ID %d. \n", $mysqli->insert_id);
       } else {
         echo "Error: ". $sql_query . "<br>" . $mysqli->error;
       }
?>

在上面的代码中,$mysqli -> query() 函数针对选定的数据库执行给定的查询。 并比较返回值。

如果为TRUE,我们使用 printf() 函数输出格式化字符串; 否则,它将使用 $mysqli -> error 打印错误。

您提供给 printf() 函数的参数将插入到您提供的原始字符串中的 % 符号之后。 %d 符号表示将插入的值是带符号的十进制数(负数、正数或零)。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 Mysqldump 备份 MySQL 中的数据

发布时间:2023/05/09 浏览次数:192 分类:MySQL

本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。

更新 MySQL 表中的主键

发布时间:2023/05/09 浏览次数:61 分类:MySQL

本篇文章介绍如何更新 MySQL 表中的主键。 我们将使用 ALTER 命令对主键进行任何更改。更新 MySQL 表中的主键 我们可以在多种情况下更新 MySQL 表中的主键。

在 MySQL 中获取命令历史记录

发布时间:2023/05/09 浏览次数:150 分类:MySQL

本文重点介绍了在 Windows 和 Linux 中获取我们已执行的 MySQL 命令历史记录的各种方法。MySQL命令历史

Oracle 的 decode 函数在 MySQL 中的等价物

发布时间:2023/05/09 浏览次数:115 分类:MySQL

本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:72 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 MySQL 中转换为十进制

发布时间:2023/05/09 浏览次数:150 分类:MySQL

有时,我们可能需要将一种数据类型转换为另一种数据类型。 下面是我们如何使用带有 DECIMAL(M,D) 的 CAST() 和 CONVERT() 函数在 MySQL 中转换为十进制。

在 MySQL 中获取当前日期和时间

发布时间:2023/05/09 浏览次数:145 分类:MySQL

本篇文章我们将学习 NOW()、CURRENT_TIMESTAMP()(也写为 CURRENT_TIMESTAMP)和 SYSDATE() 来获取 MySQL 中的当前日期和时间。 我们还将看到这三个功能之间的比较。在 MySQL 中获取当前日期和时间

更改 MySQL 服务器中的 max_allowed_packet Size

发布时间:2023/05/09 浏览次数:142 分类:MySQL

本篇文章介绍如何更改 MySQL 服务器中的 max_allowed_packet 大小。 为了了解这一点,我们将使用两个操作系统,Windows 10 和 Linux (Ubuntu)。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便