mysqli_insert_id
(PHP 5)
mysqli_insert_id
(no version information, might be only in CVS)
mysqli->insert_id -- 直近のクエリで使用した自動生成の ID を返す
説明
手続き型:
int
mysqli_insert_id ( mysqli link )
オブジェクト指向型(プロパティ):
class
mysqli {
int insert_id
}
mysqli_insert_id() 関数は、AUTO_INCREMENT 属性を
持つカラムがあるテーブル上でのクエリにより生成された ID を返します。
直近のクエリが INSERT あるいは UPDATE ではなかった場合、あるいは
変更されたテーブルに AUTO_INCREMENT 属性を持つカラムがなかった場合は
この関数はゼロを返します。
注意:
LAST_INSERT_ID() 関数を使用して INSERT あるいは UPDATE ステートメントを
実行すると、mysqli_insert_id() 関数の返す値も
変更されます。
返り値
直前のクエリで更新された AUTO_INCREMENT
フィールドの値を返します。接続での直前のクエリがない場合や
クエリが AUTO_INCREMENT の値を更新しなかった場合は
ゼロを返します。
注意:
もし数値が int の最大値をこえた場合、mysqli_insert_id()
は文字列で結果を返します。
例
例 1. オブジェクト指向型
<?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");
/* 接続を閉じます */ $mysqli->close(); ?>
|
|
例 2. 手続き型
<?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");
/* 接続を閉じます */ mysqli_close($link); ?>
|
|
上の例の出力は以下となります。