脑动力:PHP函数速查效率手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.5 mysql_insert_id函数:获得上一步INSERT操作产生的ID

【功能说明】

该函数将获得上一步执行INSERT操作时产生的AUTO_INCREMENT自增ID号。如果成功执行,则该函数返回INSERT操作中产生的ID,如果执行的INSERT操作中没有产生ID号,则该函数返回0。

【函数语法】

int mysql_insert_id([resource link_identifier])

其中,可选参数link_identifier是成功连接MySQL服务器的连接标识符,如果没有设置该参数的值,则使用上一个打开的连接。该函数的返回值为数值型。

【示例程序】下面使用本例函数获得上一步执行INSERT操作时产生的ID号。代码如下:

<?php
    //连接MySQL服务器,如果连接失败,则返回错误信息
    $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error());
    mysql_select_db("project",$link);
                        //通过打开的连接选择数据库
    $sql = "insert into language (name) values ('Smarty')";
                        //书写SQL语句,向数据表中插入一条数据
    $result = mysql_query($sql,$link);  //执行SQL语句
    $id = mysql_insert_id();
                        //获得上一步INSERT操作所产生的ID
    echo $id;                //输出获得的ID
    mysql_close($link);      //关闭打开的连接
?>

以上代码的运行结果如图1.9所示。

图1.9 运行结果

上述代码中,成功连接了本地MySQL服务器,书写向数据表language中插入一条数据的SQL语句,并使用函数mysql_query()执行,然后使用本例函数mysql_insert_id()来获得上面执行INSERT操作所产生的自增ID号。该ID号是7。