我知道有类似的问题已被提出,但它们似乎都不适用于我正在尝试的事情。
我正在使用mysqli / php开发一个系统,该系统接收音频文件,上传它们,重命名它们并存储名称。唯一的问题是......我需要文件的名称是"上传文件_ [$ id_here] .mp3"
我已经让整个上传系统正常运行,但我已经迈出了最后一步......让ID工作正常。
此表中的id列是Auto_Increment。我只需要找出如何预测"将提供给即将到来的新行的Auto_Increment ID,并通过变量将其标记在音频文件名的末尾。
我尝试过的一种方法是:
$result = mysqli_query($conn, "SHOW TABLE STATUS LIKE 'test_table'");
$row = mysqli_fetch_array($result);
$nextId = $row['Auto_increment'];
print $nextId;
但这并没有带来任何结果。我的连接文件应该正确配置,因为我已经将它用于其他查询,并且工作正常。
提前致谢!
答案 0 :(得分:0)
只需执行您的INSERT查询,然后获取$mysqli->insert_id
答案 1 :(得分:0)
这实际上取决于此代码的运行频率吗?
自动增量每次增加1。插入一条记录,我自己刚开始使用PHP,但你肯定可以在你的...中添加1 ...
$nextId = $row['Auto_increment'];
会给你下一个ID。除非,正如Maerlyn所说,你同时有两个用户,在这种情况下,我认为你可以在插入记录时插入临时表,如果成功,插入主表并从临时表中删除。当插入临时表时,您首先必须运行检查,以便在尝试任何操作之前查看临时表中是否已存在该记录。
只是我的两分钱。