«

PHP:MySQL函数mysql_insert_id()的用法

时间:2024-3-1 20:47     作者:韩俊     分类: PHP


mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — 取得上一步 INSERT 操作产生的 ID

<h3>说明</h3>
 int <strong>mysql_insert_id</strong>
  ([ resource <code>$link_identifier</code>
] )
<p>
 <strong>mysql_insert_id()</strong>
 返回给定的
 <code>link_identifier</code>
 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定
 <code>link_identifier</code>,则使用上一个打开的连接。
</p>
<p>
 如果上一查询没有产生
 AUTO_INCREMENT 的值,则
 <strong>mysql_insert_id()</strong>
 返回 0。如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用
 <strong>mysql_insert_id()</strong>。
</p>
<p><strong>Note</strong>:
 <p>
  MySQL 中的 SQL 函数
  LAST_INSERT_ID()
  总是保存着最新产生的
  AUTO_INCREMENT 值,并且不会在查询语句之间被重置。
</p>
</p>
<strong>Warning</strong>
 <p>
  <strong>mysql_insert_id()</strong> 将
  MySQL 内部的 C API 函数
  mysql_insert_id()
  的返回值转换成
  long(PHP 中命名为 int)。如果
  AUTO_INCREMENT 的列的类型是 BIGINT,则
  <strong>mysql_insert_id()</strong>
  返回的值将不正确。可以在 SQL 查询中用
  MySQL 内部的 SQL 函数
  LAST_INSERT_ID() 来替代。
 </p>
<p>
  <p><strong>Example #1 <strong>mysql_insert_id()</strong> 例子</strong></p>
<?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 %dn", mysql_insert_id());
?>
</p>
<p>
 参见 mysql_query()。
</p>

标签: php php教程

热门推荐