Php 如何使用MySQL获取最后一行值?

Php 如何使用MySQL获取最后一行值?,php,mysql,insert,Php,Mysql,Insert,我有一个名为Live的表,表中有public\u id。在public\u id中是数字(例如1,2,3,4,5)。我怎样才能得到最高的数字或最后一个条目的数字 SELECT public_id FROM Live ORDER BY public_id DESC LIMIT 1; 会给你最高的数字吗 编辑:对于php $conn = mysql_connect(.... $query = "SELECT public_id FROM Live ORDER BY public_id DESC L

我有一个名为
Live
的表,表中有
public\u id
。在
public\u id
中是数字(例如1,2,3,4,5)。我怎样才能得到最高的数字或最后一个条目的数字

SELECT public_id FROM Live ORDER BY public_id DESC LIMIT 1;
会给你最高的数字吗

编辑:对于php

$conn = mysql_connect(....
$query = "SELECT public_id FROM Live ORDER BY public_id DESC LIMIT 1";
$result = mysql_query($query, $conn);

另一个选项是使用
MAX
,即

SELECT MAX(public_id) FROM Live

您可以使用
orderby public\u id DESC LIMIT 1
获取id最高的记录(我猜您在public_id上使用的是autoincrement属性)或
MySQL MAX()
函数如下:

SELECT * FROM table WHERE public_id = MAX(public_id);
编辑:

以下是您将如何在php中执行此操作:

// executing the QUERY request to MySQL server, mysql_query() returns resource ID
$result = mysql_query('SELECT public_id FROM Live ORDER BY public_id DESC LIMIT 1');
// then we use this resource ID to fetch the actual value MySQL have returned
$row = mysql_fetch_array($result, MYSQL_FETCH_ASSOC);
// $row variable now holds all the data we got from MySQL, its an array, so we just output the public_id column value to the screen
echo $row['public_id']; // you can use var_dump($row); to see the whole content of $row
我会选择

SELECT public_id FROM Live ORDER BY public_id DESC LIMIT 1;
它已经发布了,但我将添加更多内容:

如果执行此查询,通常可以创建反向排序的索引

比如:

CREATE INDEX ON Live (public_id DESC) 
请注意

描述

PHP+MySQL代码:

<?php
$result = mysql_query('SELECT public_id FROM Live ORDER BY public_id DESC LIMIT 1;');
if (mysql_num_rows($result) > 0) {
   $max_public_id = mysql_fetch_row($result);
   echo $max_public_id[0]; //Here it is
}
?>


那么您如何获得该号码?很抱歉,这听起来可能是个愚蠢的问题,但我还是MySQL新手。您会说$last_number=按公共id DESC LIMIT 1从实时订单中选择公共id吗;?由于查询告诉MySQL只返回一条记录,而这条记录的公共id号最高,因此它将包含该值(最高的数字)。这仍然是问题的有效答案。它是否真的慢取决于数据…我没有否决,我只是添加了信息,因为性能问题可能非常重要。@FrankS:在您提供的链接中,答案表明
MIN()
实际上(略微)比
ORDER BY快。。。限制1
。此答案100%正确。它将使用
public\u id
的索引(如果有!)。另一种方法(
orderby…LIMIT
)的优点是,它可以返回具有最大id的整行(使用
SELECT*
),也可以返回多行(使用
LIMIT x
)。这是我的错,因此我删除了旧注释。这是我提到的答案的答案。所有这些打印出来的都是
数组
,我怎样才能得到像4这样的单个数字?对不起,我错了。我编辑了它。顺便说一句,你应该试着了解这门语言。可以使用print_r()函数打印数组内容。看一看php.netI,我确实知道
print_r()
但认为这不能解决问题。这成功了,谢谢你的帮助!这不会打印出任何内容。当我尝试这个的时候。我该如何回显?@Pete print$result;并打印“$result”;工作,但我不知道哪一个是正确的。我的php是有限的。