PHP获取MySql新增记录ID值的3种方法


Posted in PHP onJune 24, 2014

一、使用语句:
 

mysql_query("select max(id) from t1",$link);

使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定是我们插入数据的自增id值,因此不适用于多线程。

二,使用函数:msyql_insert_id();

在PHP中,经常需要把插入数据库中的id值取出来,而正好有这么一个函数:

<?php

//执行插入数据库的语句

//……

$getID=mysql_insert_id();//$getID即为最后一条记录的ID
//此函数的使用条件:

//1.假设字段名称为recordID

//2.字段属性须设为:auto_increment

//3.添加数据后使用

//$newID = mysql_insert_id();

//得到ID值

 ?>

PHP 函数 mysql_insert_id() 是返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值。

当系统执行完INSERT后,再执行SELECT时,可能已经被分发到了不同的后端服务器,如果使用php编程,此时应该通过 mysql_insert_id()来得到最新插入的id,每次INSERT结束后,其实对应的autoincrement值就已经计算好返回给PHP 了,你无需再发出一次独立的查询,直接用mysql_insert_id()即可。
当插入一条语句时,它自动返回最后的id(mysql自增值)。
并且此函数仅对当前链接有用,即它是多用户安全型的。
建议使用此函数;
问题:当id 为bigint 型时 就不在起作用了。

三、使用查询
 

msyql_query("select last_insert_id()");

last_insert_id() 是mysql 一个函数 也是 对当前链接起效
此用法 解决了 mysql_insert_id () 中遇到的 bigint 型问题
总结:
推荐使用方法二,特殊情况下,可以考虑方法三。
PHP 相关文章推荐
php md5下16位和32位的实现代码
Apr 09 PHP
php xml文件操作代码(一)
Mar 20 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 PHP
php数组添加与删除单元的常用函数实例分析
Feb 16 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
php+ajax实现文件切割上传功能示例
Mar 03 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 #PHP
You might like
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
取选中的radio的值
2010/01/11 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
处理textarea中的换行和空格
2019/12/12 HTML / CSS
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
房产委托公证书样本
2014/04/04 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis