如何使用PHP获取MySQL数据库表中的最后一条记录?

rit*_*tch 6 php mysql database

我想用PHP获取MySQL数据库表中的最后一个结果.我该怎么做呢?

我在表中有2列,MessageID(自动)和消息.

我已经知道如何连接数据库了.

OMG*_*ies 14

使用mysql_query:

<?php
$result = mysql_query('SELECT t.messageid, t.message 
                         FROM TABLE t 
                     ORDER BY t.messageid DESC 
                        LIMIT 1') or die('Invalid query: ' . mysql_error());

//print values to screen
while ($row = mysql_fetch_assoc($result)) {
  echo $row['messageid'];
  echo $row['message'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);

?>
Run Code Online (Sandbox Code Playgroud)

SQL查询:

  SELECT t.messageid, t.message 
    FROM TABLE t 
ORDER BY t.messageid DESC 
   LIMIT 1
Run Code Online (Sandbox Code Playgroud)

...使用ORDER BY设置值,因此最高值是结果集中的第一行.LIMIT表示所有这些行中只有第一行实际返回结果集.因为messageid是自动增量,最高值是最近的值...


Dea*_*ing 5

关系数据库中的记录没有内在的“顺序”,因此如果没有某种ORDER BY子句,您就无法获取“最后”记录。

因此,为了获取“最后”记录,只需反转子句ORDER BY(更改ASCDESC或相反),然后选择第一个结果。

如果您有一个自动增量字段,并且只想查找最后插入的值,则可以利用自动增量字段不断增加的事实(因此“最后一个”字段将是具有最高值的字段)值)并执行以下操作:

SELECT *
FROM my_table
ORDER BY id_field DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)