如何知道刚刚插入数据库那条数据的id

一、总结

一句话总结:这些常见功能各个框架里面都有,可以查看手册,thinkphp里面是$userId = Db::name('user')->getLastInsID();

1、在mysql和mysqli中如何选择?

用mysqli,php官方推荐

2、mysqli中如何查找到刚刚出入数据库的那条数据的id?

mysqli对象的indert_id属性

$mysqli->insert_id

二、PHP如何找到刚刚插入数据库的一条数据的ID?

$_title=$_POST['input_title'];

$_described=$_POST['described'];

mysql_query("insert into questionnaire (quesTitle,quesDescribe,createTime) values('$_title','$_described',now())");

header(index.php?quesid=刚刚插入的那个编号)

如上所述,我刚刚插入的一条数据,现在要立刻跳到该数据自动生成的id的页面去,怎么获取呢??

你看看 mysql_insert_id 这个函数. 获取上一步insert 插入成功的id, 不成功的时候是没有值的

mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID。 没事多自己百度一下,多看手册,别一有问题就到处发帖,这种只要一分钟就能知道的答案 ,你却要花十几分钟,甚至几个小时,甚至没人回答,我只能说一句,哥们 你这是何苦呢?

mysql_insert_id()将 MySQL 内部的 C API 函数 mysql_insert_id()的返回值转换成 long(PHP 中命名为 int)。如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysql_insert_id()返回的值将不正确。可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID()来替代。

例子一:]mysql_insert_id()]例子b]b]

function mysql_insert_id ($link_identifier = null) {}/**

* @deprecated 5.5

* Get result data

* @link http://php.net/manual/en/function.mysql-result.php

* @param resource $result

* @param int $row

* The row number from the result that's being retrieved. Row numbers

* start at 0.

*

* @param mixed $field [optional]

* The name or offset of the field being retrieved.

*

*

* It can be the field's offset, the field's name, or the field's table

* dot field name (tablename.fieldname). If the column name has been

* aliased ('select foo as bar from...'), use the alias instead of the

* column name. If undefined, the first field is retrieved.

*

* @return string The contents of one cell from a MySQL result set on success, or

* false on failure.

* @since 4.0

* @since 5.0*/

$mysqli->insert_id

1 Example #1 $mysqli->insert_id example

2

3 面向对象风格4

5 <?php6 $mysqli = new mysqli("localhost", "my_user", "my_password", "world");7

8 /*check connection*/

9 if (mysqli_connect_errno()) {10 printf("Connect failed: %s\n", mysqli_connect_error());11 exit();12 }13

14 $mysqli->query("CREATE TABLE myCity LIKE City");15

16 $query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";17 $mysqli->query($query);18

19 printf ("New Record has id %d.\n", $mysqli->insert_id);20

21 /*drop table*/

22 $mysqli->query("DROP TABLE myCity");23

24 /*close connection*/

25 $mysqli->close();26 ?>

thinkphp 5.0

多去查看参考手册,里面肯定有

insert 方法添加数据成功返回添加成功的条数,insert 正常情况返回 1

添加数据后如果需要返回新增数据的自增主键,可以使用getLastInsID方法:

Db::name('user')->insert($data);

$userId = Db::name('user')->getLastInsID();

或者直接使用insertGetId方法新增数据并返回主键值:

Db::name('user')->insertGetId($data);

insertGetId 方法添加数据成功返回添加数据的自增主键

mysql 插入怎么知道id_如何知道刚刚插入数据库那条数据的id相关推荐

  1. 如何知道刚刚插入数据库那条数据的id

    如何知道刚刚插入数据库那条数据的id 一.总结 一句话总结:这些常见功能各个框架里面都有,可以查看手册,thinkphp里面是$userId = Db::name('user')->getLas ...

  2. mysql获取一个表的数据作为值插入_请问如何在mysql中得到一个即将插入数据表中的那条数据的id值(id自增长)?...

    我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的. 但在多线程情况下,就不行了. 下面 ...

  3. mysql 随机分组_MySql分组后随机获取每组一条数据的操作

    MySql分组后随机获取每组一条数据的操作,数据,效率,时间,李四,条数 MySql分组后随机获取每组一条数据的操作 易采站长站,站长之家为您整理了MySql分组后随机获取每组一条数据的操作的相关内容 ...

  4. mysql虚拟列表_「前端进阶」高性能渲染十万条数据(虚拟列表)

    前言 在工作中,有时会遇到需要一些不能使用分页方式来加载列表数据的业务情况,对于此,我们称这种列表叫做长列表.比如,在一些外汇交易系统中,前端会实时的展示用户的持仓情况(收益.亏损.手数等),此时对于 ...

  5. mysql查询倒数第三个_SQL查询倒数第三条数据 LIMIT + ORDER BY 用法,实例秒懂,避免入坑!...

    Background LIMIT 用错了好几次,经常以为LIMIT(10,20) 的意思是检索第11行到第20行,其实不是! 而应该是检索从第11行开始的后20行数据.今天定要重新写一遍避免自己入坑, ...

  6. mysql每学科前两名 having_mysql 分组查询前n条数据

    今天去面试,碰到一道面试题: 有一个学生成绩表,表中有 表id.学生名.学科.分数.学生id .查询每科学习最好的两名学生的信息: 建表sql: CREATE TABLE `stuscore` ( ` ...

  7. mysql索引_效率测试(包含测试sql脚本300万条数据),可用作教学案例。

    目录 建表 无索引测试: 建表 建表与插入数据sql,运行时间越2分钟 #1. 准备表 create table test_table( id int, name varchar(20), sex i ...

  8. mybatis 做 insert操作的时候返回插入的那条数据的id

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:吃丸子的小鹿 链接:http://www.zhihu.com/question/20810321/answer/16843 ...

  9. php mysql实现下拉列表查询_php mysql如何实现通过下拉框查询显示数据库中的数据...

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. Numpy掩码数组masked arrays,这一篇就够了
  2. HTTP/FTP压力测试工具siege
  3. python 回调函数(Callback)
  4. excel查标准正态分布_用EXCEL简易制作正态分布图
  5. 2022Go安装goimports第三方库命令
  6. LeetCode 1153. 字符串转化(哈希)
  7. 第三章:react 应用( 基于 react )
  8. Python机器学习:PCA与梯度上升03求数据的主成分PCA
  9. mysql通过命令添加1条数据
  10. linux执行命令带时间戳,Linux查看History记录加时间戳的小技巧
  11. String.format(%03d, i)在数字前面补零
  12. JavaWeb中实现验证码(ssh框架版)
  13. IOS小工具以及精彩的博客
  14. vmware VCPU的一点理解记录
  15. 积木游戏(java)
  16. VBA-EXCEL:控制WORD文件
  17. 微信中的表情符号代码对照表
  18. 【ElasticSearch从入门到放弃系列 零】ElasticSearch看这一篇就够了
  19. 人生是一场秋花的盛开
  20. 通达OA远程代码执行漏洞通告

热门文章

  1. mysql查看表内容 很乱_mysql常用命令--15.10.14记录,内容有点乱
  2. python判断是否为变位词_python实现对变位词的判断方法
  3. C++基础复习——C++语言数据类型
  4. html不继承父级背景色,javascript – 如何获取从父元素继承的计算背景颜色样式...
  5. 怎么避免后台被搜索_复星保德信人寿保险有限公司星满意重大疾病保险怎么样?好不好?可信/靠谱吗?有什么优缺点/注意事项?值不值得买?一年多少钱?...
  6. java 学生信息的增删改查_学生信息的增删改查(java)
  7. springmvcdate类型接收不到_无线电小课堂:如何在市区环境有效接收短波信号,选什么天线?...
  8. unity添加对象实例_【Unity】6.3 通过 C# 脚本创建和访问游戏对象
  9. 巨坑!同事离职前一天,偷偷将一个470欧的色环电阻串进我的电源线中......
  10. linux 终端会话连接,如何在 Linux 中使用 Asciinema 进行录制和回放终端会话