php mysql_insert_id()

mysql_insert_id

mysql_insert_id()返回给定的 link_identifier中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier,则使用上一个打开的连接。

php mysql_insert_id()返回数据库最新id实现方法,有需要同学可参考一下,代码如下:

mysql_insert_id()

mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID,如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0.

语法:mysql_insert_id(connection)

参数connection,可选,规定 MySQL 连接,如果未规定,则使用上一个连接.

mysql_insert_id() 返回给定的 connection 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号,如果没有指定 connection,则使用上一个打开的连接.

如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 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);
    //开源代码phprm.com
    $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);

mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号,如果没有指定 link_identifier,则使用上一个打开的连接,如果上一查询没有产生 AUTO_INCREMENT 的值,则 mysql_insert_id() 返回 0,如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id().

LAST_INSERT_ID()

MySQL也提供了这么一个同样功能的API,它总是保存着最新产生的AUTO_INCREMENT值,并且不会在查询语句之间被重置,也就是说,在执行INSERT操作后,执行SELECT、UPDATE、DELETE语句都不会影响该API的返回值.

可以用 SELECT LAST_INSERT_ID();来查询LAST_INSERT_ID() 的返回值.

使用单条INSERT语句插入多条记录,LAST_INSERT_ID() 只返回插入的第一条记录产生的AUTO_INCREMENT值.

时间: 2024-10-25 17:12:43

php mysql_insert_id()的相关文章

【PHP】mysql_insert_id() 函数

mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID. 如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0. $sql="INSERT into t_article (f_parent_id, f_title, f_username, f_board_id,f_post_time, f_ip) values"; $sql.="('".$f_parent_id."','

意识流php入门基础学习笔记

addAdmin(添加管理员) 流程: addAdmin.php(视图界面)[传递act的值]  --->  doAdminAction.php(总处理) 通过include.php包含了所有函数--->根据传过来的act在admin.inc.php中找到合适的函数 --->  调用mysql.func.php中的insert()插入数据库 一个表单,action="doAdminAction.php?act=addAdmin",传到addAdmin act=addA

php 获取最后插入数据的id

向mysql 插入数据时 很多时候 我们想知 道刚刚插入数据的id 这对我们很有用 下面我说出常用的三种 方法并一一分析其利与弊 一 用以下语句: mysql_query("select max(id) from t1",$link); 使用这种方法时 我们得到得是 id最大的值 的确时最后一个 但当多链接线程时 这个最大的id并不一定是 我们插入的所以这个不利用域线程 二 用以下函数: msyql_insert_id(); 当系统执行完INSERT后,再执行SELECT时,可能已经被

php 类

1 <?php 2 class mysql{ 3 4 5 private $host; 6 private $name; 7 private $pass; 8 private $table; 9 private $ut; 10 11 12 13 function __construct($host,$name,$pass,$table,$ut){ 14 $this->host=$host; 15 $this->name=$name; 16 $this->pass=$pass; 17

LoadRunner11_录制MySQL数据库脚本

记录一次压测过程中,通过LoadRunner向MySQL数据库插入大量数据的过程. [1]需要使用到MySQL的libmysql.dll动态链接库,因此需要安装MySQL:注:本地安装的MySQL最好和MySQL数据库服务器上的版本一致:(本次使用的是MYSQL 5.6) [2]LoadRunner选择"CVuser"协议: [3]选择"File"→"Add Files to script",将MySQL Server 5.6/lib下的libm

用于 SELECT 和 WHERE 子句的函数

1 一个 SQL 语句中的 select_expression 或 where_definition 可由任何使用了下面所描述函数的表达式组成. 2 3 包含 NULL 的表达式总是得出一个 NULL 值结果,除非表达式中的操作和函数在文档中有另外的说明. 4 5 注意:在一个函数名和跟随它的括号之间必须不存在空格.这有助于 MySQL 语法分析程序区分函数调用和对恰巧与函数同名表或列的引用.然而,参数左右两边的空格却是允许的. 6 7 你可以强制 MySQL 接受函数名后存在空格的形式,这需要

数据定义: CREATE、DROP、ALTER

1 CREATE DATABASE 句法 2 3 CREATE DATABASE [IF NOT EXISTS] db_name 4 5 CREATE DATABASE 以给定名字创建一个数据库.允许的数据库名规则在章节 6.1.2 数据库.表.索引.列和别名 中被给出. 如果数据库已经存在,并且你没有指定 IF NOT EXISTS,这时会产生一个错误. 6 7 在 MySQL 中,数据库以包含数据库表对应文件的目录实现的.因为数据库在初始创建时没有表,所以 CREATE DATABASE 语

PHP学习笔记A

//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH变量名建议用下划线方式分隔 // $var_name函数名建议用驼峰命名法 // varName定界符建议全大写 // <<<DING, <<<'DING'文件名建议全小写和下划线.数字 // func_name.php私有属性名.方法名建议加下划线 // private $_name

PHP中对数据库操作的封装

在动态网面设计中很多都要涉及到对数据库的操作,但是有时跟据需要而改用其它后台数据库,就需要大量修改程序.这是一件枯燥.费时而且容易出错的功作.其实我们可以用PHP中的类来实现对数据库操作的封装,从而使写出的程序在很小的改动下就可以完成后台数据库的更改. <? class dbInterface{ var $dbID=1; //用于确定当前操作的数据库,当dbID为1代表MySql,当为 2代表 SQL Server,为3时为ODBC或其它. var $dbHost; //数据库所在主机域名 va