mysqli::$insert_id

mysqli_insert_id

(PHP 5, PHP 7, PHP 8)

mysqli::$insert_id -- mysqli_insert_id返回最后一條插入語(yǔ)句產(chǎn)生的自增 ID

說(shuō)明

面向?qū)ο箫L(fēng)格

過(guò)程化風(fēng)格

mysqli_insert_id(mysqli $link): mixed

mysqli_insert_id() 函數(shù)返回最后一個(gè) SQL 語(yǔ)句(通常是 INSERT 語(yǔ)句) 所操作的表中設(shè)置為 AUTO_INCREMENT 的列的值。 如果最后一個(gè) SQL 語(yǔ)句不是 INSERT 或者 UPDATE 語(yǔ)句, 或者所操作的表中沒有設(shè)置為 AUTO_INCREMENT 的列, 返回值為 0。

注意:

如果在所執(zhí)行的 INSERT 或者 UPDATE 語(yǔ)句中使用了數(shù)據(jù)庫(kù)函數(shù) LAST_INSERT_ID()。 有可能會(huì)影響 mysqli_insert_id() 函數(shù)的返回值。

參數(shù)

mysql

僅以過(guò)程化樣式:由mysqli_connect()mysqli_init() 返回的 mysqli 對(duì)象。

返回值

最后一條 SQL(INSERT 或者 UPDATE)所操作的表中設(shè)置為 AUTO_INCREMENT 屬性的列的值。 如果指定的連接上尚未執(zhí)行 SQL 語(yǔ)句,或者最后一條 SQL 語(yǔ)句所操作的表中沒有設(shè)為 AUTO_INCREMENT 的列,返回 0。

注意:

如果返回值超出了 php 允許的最大整數(shù)值, mysqli_insert_id() 函數(shù)會(huì)以字符串形式返回這個(gè)值。

范例

示例 #1 $mysqli->insert_id 例程

面向?qū)ο箫L(fēng)格

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* 檢查連接 */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("New Record has id %d.\n"$mysqli->insert_id);

/* 刪除表 */
$mysqli->query("DROP TABLE myCity");

/* 關(guān)閉連接 */
$mysqli->close();
?>

過(guò)程化風(fēng)格

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* 檢查連接 */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

mysqli_query($link"CREATE TABLE myCity LIKE City");

$query "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link$query);

printf ("New Record has id %d.\n"mysqli_insert_id($link));

/* 刪除表 */
mysqli_query($link"DROP TABLE myCity");

/* 關(guān)閉連接 */
mysqli_close($link);
?>

以上例程會(huì)輸出:

New Record has id 1.