为什么查询出的id号不对?
为什么id号直接从12变成15了?中间有一次插入失败。还有为什么mysqli_insert_id查询出的id是16,每次插入两条记录,它只返回第一条的id???
正在回答
你好, INSERT INTO users(`name`,age) VALUES('rose','20'),('mofey','23')";改SQL为批量插入使用
mysqli_insert_id()改函数获取id值时会冲突,如果解决您的问题请采纳,祝学习愉快!
老师说的是这样吗? 可是结果又显示只插入了1条数据
<?php
header('content-type:text/html;charset=utf-8');
// 连接mysql数据库
$link=mysqli_connect('localhost','root','root');
//判断数据库是否连接成功
if (mysqli_connect_error()!=null){
exit(mysqli_connect_error());
}
//选择数据库
mysqli_select_db($link,'test');
//指定字符集
mysqli_set_charset($link,'utf8');
//写SQL语句
$sql1="INSERT INTO users(`name`,age) VALUES('张三','20')";
$sql2="INSERT INTO users(`name`,age) VALUES('李四','20')";
//发送并执行SQL语句
$data1=mysqli_query($link,$sql1);
$data2=mysqli_query($link,$sql2);
//解析结果集
if ($data1 && $data2){
echo "共插入了".mysqli_affected_rows($link)."条数据<br/>";
echo "上一次操作的id号为".mysqli_insert_id($link);
}else{
echo mysqli_error($link);
}
//关闭mysql连接
mysqli_close($link);
再重新发一下
<?php
header('content-type:text/html;charset=utf-8');
// 连接mysql数据库
$link=mysqli_connect('localhost','root','root');
//判断数据库是否连接成功
if (mysqli_connect_error()!=null){
exit(mysqli_connect_error());
}
//选择数据库
mysqli_select_db($link,'test');
//指定字符集
mysqli_set_charset($link,'utf8');
//写SQL语句
$sql="INSERT INTO users(`name`,age)
VALUES('rose','20'),('mofei','23')";
//发送并执行SQL语句
$data=mysqli_query($link,$sql);
//解析结果集
if ($data){
echo "共插入了".mysqli_affected_rows($link)."条数据<br/>";
echo "上一次操作的id号为".mysqli_insert_id($link);
}else{
echo mysqli_error($link);
}
//关闭mysql连接
mysqli_close($link);
数据表结构(代码中可以看到):
此时插入了两条数据,可是返回的id号却是1
<?php
header('content-type:text/html;charset=utf-8');
// 连接mysql数据库
$link=mysqli_connect('localhost','root','root');
//判断数据库是否连接成功
if (mysqli_connect_error()!=null){
exit(mysqli_connect_error());
}
//选择数据库
mysqli_select_db($link,'test');
//指定字符集
mysqli_set_charset($link,'utf8');
//写SQL语句
$sql="INSERT INTO users(`name`,age)
VALUES('rose','20'),('mofey','23')";
//发送并执行SQL语句
$data=mysqli_query($link,$sql);
//解析结果集
if ($data){
echo "共插入了".mysqli_affected_rows($link)."条数据<br/>";
echo "上一次操作的id号为".mysqli_insert_id($link);
}else{
echo mysqli_error($link);
}
//关闭mysql连接
mysqli_close($link);
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星