mysql_insert_id

mysql_insert_id()返回給定的 link_identifier中上一步 INSERT 查詢中產生的 AUTO_INCREMENT 的 ID 號。如果沒有指定 link_identifier,則使用上一個打開的連線。

基本信息

(PHP 3, PHP 4, PHP 5)

mysql_insert_id -- 取得上一步 INSERT 操作產生的 ID

說明

int mysql_insert_id( [resource link_identifier] )

如果上一查詢沒有產生 AUTO_INCREMENT 的值,則 mysql_insert_id()返回 0。如果需要保存該值以後使用,要確保在產生了值的查詢之後立即調用 mysql_insert_id()

注意

MySQL 中的 SQL 函式 LAST_INSERT_ID()總是保存著最新產生的 AUTO_INCREMENT 值,並且不會在查詢語句之間被重置。

警告

mysql_insert_id()將 MySQL 內部的 C API 函式 mysql_insert_id()的返回值轉換成 long(PHP 中命名為 int)。如果 AUTO_INCREMENT 的列的類型是 BIGINT,則 mysql_insert_id()返回的值將不正確。可以在 SQL 查詢中用 MySQL 內部的 SQL 函式 LAST_INSERT_ID()來替代。

例子一:]mysql_insert_id()]例子b]b]

<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: " . mysql_error());

mysql_select_db("mydb");

mysql_query("INSERT INTO mytable (product) values ('kossu')");

printf ("Last inserted record has id %d\n", mysql_insert_id());

?>

例子二

<?php

$con = mysql_connect("localhost", "hello", "321");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

$db_selected = mysql_select_db("test_db",$con);

$sql = "INSERT INTO person VALUES ('Carter','Thomas','Beijing')";

$result = mysql_query($sql,$con);

echo "ID of last inserted record is: " . mysql_insert_id();

mysql_close($con);

?>

輸出類似:

ID of last inserted record is: 5

實用功能

<?php

$host = "localhost"; //伺服器

$username = "hello"; //用戶名;

$password = "321"; //密碼

$database = "dataname"; //資料庫

function insert_id($sql)

{

global $host,$username,$password,$sql;

$con = mysql_connect($host,username,$password);

mysql_db_query($database,$sql,$conn);

$id = mysql_insert_id();

return $id;

}

echo insert_id("INSERT INTO person VALUES ('Carter','Thomas','Beijing')";

?>

輸出類似:

ID of last inserted record is: 5

同時執行了插入數據的效果

相關詞條

熱門詞條

聯絡我們