迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > 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 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 MySQL 中声明和使用变量

发布时间:2024/03/26 浏览次数:115 分类:MySQL

当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。

在 MySQL 中实现刷新权限

发布时间:2024/03/26 浏览次数:211 分类:MySQL

本教程介绍了 MySQL 中的刷新权限命令,用于刷新授权表并影响允许的更改。

在 MySQL 中设置时区

发布时间:2024/03/26 浏览次数:93 分类:MySQL

在本教程中,我们将学习如何在 MySQL 服务器中更改时区。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便