Php 如何在live站点上显示mysql数据库中最后插入的记录id?

Php 如何在live站点上显示mysql数据库中最后插入的记录id?,php,mysql,mysqli,Php,Mysql,Mysqli,我想在live上显示mysql数据库中的最高记录id。我正在使用下面的代码,它在本地主机上工作,但不在实时站点上 <?php $q ="SELECT LAST_INSERT_ID()"; $result = mysqli_query($q); $data = mysqli_fetch_array($result); echo $data[0]; ?> 如果使用as PK和自动递增,则可以使用id列 从表order BY id DECS LIMIT 1中选择* 如果您谈论的是并发

我想在live上显示mysql数据库中的最高记录id。我正在使用下面的代码,它在本地主机上工作,但不在实时站点上

 <?php
$q ="SELECT LAST_INSERT_ID()";
$result = mysqli_query($q);
$data = mysqli_fetch_array($result);
echo $data[0];
?> 

如果使用as PK和自动递增,则可以使用id列

从表order BY id DECS LIMIT 1中选择*

如果您谈论的是并发查询,那么我已经做了一些不同的事情来解决这种情况

在新列中插入时间戳,然后获取相同的时间戳 请检查下面的代码

$token=数据

在表'val1','val2',$token中插入

然后

您可以使用$token通过如下方式获取最后插入行的id


从表中选择*token=$token

,正如Jon提到的,您需要添加MAX。那么,您的live数据库设置是否与localhost数据库完全相同?也许告诉我们错误? 抱歉,现在还不能评论

如果id是唯一的,则使用子选择查询

选择行 从桌子上 何处id= 从表中选择maxid

如果id不唯一,则使用此项


按id描述限制1从表顺序中选择行?最好记录一个时间戳列,然后查阅LastTimestamp,如果使用实时系统,并且基于对上述代码段的并发访问,您可能会获得错误的id。或者,您可以定义存储过程,该过程将插入并返回noAlso select表。u在哪里从中选择此最后一个插入id?如果您不能发表评论,最好的做法是提供真实的答案,而不是在答案框上询问清楚程度,这样您就可以赢得足够的代表发表评论我的问题只是我想在UI上打印最后一个插入的id。我正在使用上述代码,它在本地工作,但不是现场请建议是的,我们将尝试它。但首先你有什么问题?请描述一下你的错误代码或其他什么。如果您的代码不起作用,那么它与您的数据库或实时系统上的PHP编译器有关@Neeya@OliverBähler在wesite上没有显示任何错误。它显示空白。同一代码在本地主机上工作,但在实时站点上不工作。我想在我的网站前端打印最后插入的id。这很清楚。如我所说,还有其他建议吗?请帮助:1-确保PHP解释器与本地7.0.0和更低版本的解释器相同。2-实时数据库上的数据库结构是否相同?-3您有权访问实时数据库吗?-4.有您正在通过连接的用户。php是否有足够的权限访问数据库5.您的数据库服务器是否正常运行@Neeyai没有得到请在我的查询中提到它。在插入后,我有一个位置可以找到最后一个插入的id。所以我用了这个方法。正如mahesh提到的,如果您有并发问题,那么您需要在表中添加一个新的列标记,然后在插入时,向该列插入本地时间戳。之后,使用该时间戳值获取新添加的行。