PHP mysqli_insert_id MySQLi 函数

  • 定义和用法

    mysqli_insert_id - 返回最后一条插入语句产生的自增 ID
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    mysqli_insert_id ( mysqli $link )
    
    mysqli_insert_id() 函数返回最后一个 SQL 语句(通常是 INSERT 语句) 所操作的表中设置为 AUTO_INCREMENT 的列的值。 如果最后一个 SQL 语句不是 INSERT 或者 UPDATE 语句, 或者所操作的表中没有设置为 AUTO_INCREMENT 的列, 返回值为 0。
    注意: 如果在所执行的 INSERT 或者 UPDATE 语句中使用了数据库函数 LAST_INSERT_ID()。 有可能会影响 mysqli_insert_id() 函数的返回值。
  • 参数

    参数 必需的 描述
    link mysqli_connect()mysqli_init() 返回的链接标识。
  • 返回值

    最后一条 SQL(INSERT 或者 UPDATE)所操作的表中设置为 AUTO_INCREMENT 属性的列的值。 如果指定的连接上尚未执行 SQL 语句,或者最后一条 SQL 语句所操作的表中没有设为 AUTO_INCREMENT 的列,返回 0。
    注意: 如果返回值超出了 php 允许的最大整数值, mysqli_insert_id() 函数会以字符串形式返回这个值。
  • 示例

    <?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);
    
  • 相关函数

    mysqli_set_charset() - 设置默认字符编码
    mysqli_character_set_name() - 返回当前数据库连接的默认字符编码