刚插入数据到MySQL数据库中,如何获得该数据的的ID呢?这里提供一个获取该ID的方法,需要用到AUTO_INCREMENT,因为没有的话,mysql_insert_id()返回 0。
创新互联服务项目包括海曙网站建设、海曙网站制作、海曙网页制作以及海曙网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,海曙网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到海曙省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
定义和用法
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);
$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);
?
输出类似:
ID of last inserted record is: 5
这个问题是需要你在建立数据库的时候进行设置的。
我们用phpmyadmin的操作来解决它:
1、
用phpmyadmin打开你的数据库,找到你的表test,打开打点击打开,处于结构状态;
2、
然后选择编辑id这个字段,
3、
然后会看到这个字段里有如下属性:字段
类型
长度/值
整理
属性
Null
默认
额外
;
4、
我们需要设置的就在这个额外中,选择下拉列表,里面只有一个选项:auto_imcrement,这就是自动累加的意思;
5、
执行保存,OK,这回你再不给id这个字段进行赋值的时候,mysql会对这个字段进行自动累加。
首先,id要设置成 AUTO_INCREMENT
其次,创建表的时候 设置AUTO_INCREMENT=1
有两种方式,一种是get方式,一种是post方式,get方式是这样的:update.php?id=5,这个5就是你for循环的id,另一种方式是把id放入一个hidden属性的input变量,提交后使用post获取。
SELECT id FROM table ORDER BY id DESC,这样看到读出来的第一个id就是最大id
希望对你有帮助,更多的sql语句,可以参考这篇文章,希望对你有帮助
//首先配置数据库连接
mysql_connect("localhost","root","");
mysql_select_db("db");
mysql_query("set names 'utf8'");
//写sql语句并执行
$sql="select id from 表名 where 条件";
$query=mysql_query($sql);
$rs=mysql_fetch_array($query);
//打印
echo $rs['id']