使用 PHP MySQLi 函数获取最后插入的 ID
本篇文章简要介绍了 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 符号表示将插入的值是带符号的十进制数(负数、正数或零)。
相关文章
使用 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() 的组合。
使用 Ubuntu 连接远程 MySQL 服务器的不同方法
发布时间:2023/05/09 浏览次数:97 分类:MySQL
-
在本文中我们将学习如何使用 Ubuntu 连接远程 MySQL 服务器来操作数据以及启动和停止 MySQL 服务器。
在 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)。