PHP获取MySql新增记录ID值的3种⽅法
⼀、使⽤语句:
复制代码代码如下:
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结束后,其实对应的autoincrem
ent值就已经计算好返回给PHP 了,你⽆需再发出⼀次独⽴的查询,直接⽤mysql_insert_id()即可。
当插⼊⼀条语句时,它⾃动返回最后的id(mysql⾃增值)。
并且此函数仅对当前链接有⽤,即它是多⽤户安全型的。
建议使⽤此函数;
问题:当id 为bigint 型时就不在起作⽤了。
三、使⽤查询
复制代码代码如下:
msyql_query("select last_insert_id()");
last_insert_id() 是mysql ⼀个函数也是对当前链接起效
此⽤法解决了 mysql_insert_id () 中遇到的 bigint 型问题
php调用mysql数据库总结:
推荐使⽤⽅法⼆,特殊情况下,可以考虑⽅法三。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论