PHPのお勉強!

PHP TOP

mysqli_stmt::$insert_id

mysqli_stmt_insert_id

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$insert_id -- mysqli_stmt_insert_id直近の INSERT 操作で生成した ID を取得する

説明

オブジェクト指向型

手続き型

mysqli_stmt_insert_id(mysqli_stmt $statement): int|string
警告

この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

add a note

User Contributed Notes 2 notes

up
8
hgernhardt at tcnewengland dot org
13 years ago
It should be noted that using mysqli_stmt->insert_id will not result in a unique ID being returned for each execution of a prepared insert statement. In practice, it appears that the first insertion ID is returned. If you are performing multiple inserts with the same prepared statement (one invocation of mysqli_stmt::prepare and multiple invocations of mysqli_stmt::execute() for a given statement), and need to keep the unique ID for each insert, use mysqli_connection->insert_id.
up
3
Aurelien Marchand
9 years ago
for those with zerofilled IDs beware as mysqli_stmt::$insert_id will return an integer. In other words, if the ID returned from your query was #000099, the value produced by mysqli_stmt::$insert_id is now #99.

I have not found a way to fix this beside using sprintf('%06d',$id) but this assumes you know in advance the size of the ID beforehand.
To Top