mysql自增id获取失败
php 数据库pdo对象,如果是返回,如以下伪代码
function getData(){
return $data;
}
$data = getData();
$id = $data->lastInsertId();
此时会获取不到,因为mysql的lastInsertId是和连接相关的,我猜想是返回后,这个数据库连接已经不是操作数据时的连接了。
解决方法
1、在返回前赋值
function getData(){
$data->id =$data->lastInsertId();
return $data;
}
2、用uuid替代lastInsertId。如果遇到多线程的问题,有可能这个id是错误的。
function getData(){
$data->uuid = getUUID();
return $data;
}
作者:半山
出处:http://www.cnblogs.com/xdao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步