mysql_insert_id
(PHP 3, PHP 4 )mysql_insert_id --  取得上一步 INSERT 操作产生的 ID 
说明
int mysql_insert_id ( [resource link_identifier])
mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 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() 来替代。 
 例子 1. mysql_insert_id 例子<?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());
?>
 
 

解决方案 »

  1.   

    echo mysql_insert_id($myconn);或者$myconn = mysql_connect("localhost","root","root");
    mysql_select_db("db",$myconn);$sql = "show table status like 'user'";//user换成你的表
    $res = mysql_query($sql);
    $row = mysql_fetch_array($res);
    $nextid = $row["auto_increment"];
    echo $nextid;
      

  2.   

    blueoxygen,在喜悦村也是你回答我的问题吧?谢谢!
    不过mysql_insert_id只能在insert操作后才能使用,而我在查询ID值之前没有任何操作。
    另外第二个办法我也试过,没有输出任何数据,郁闷啊!