返回表mysql错误的最后一行

时间:2016-01-19 15:55:20

标签: mysql row final

尝试从数据库中获取最后一行,但是当表是新的且未输入任何行时,它将返回错误。

$lastrow="select ID from $sectionN order by ID desc limit 1"; 
$lastrow=mysql_query($lastrow);
echo $lastrow;
$lastrow=mysql_result($lastrow,0) + 1;

如何解决这个问题,即使表是新的,它也会返回最后一行(我的意思是第一行)

2 个答案:

答案 0 :(得分:0)

您可以使用COALESCE检查ID是否为null,然后返回0(或其他任何您想要的内容):

select COALESCE(MAX(uid), 0) from users

您可以使用MAX来获取最后插入的ID,如果它为null,则查询将返回0

但我建议您在表格ID上使用Auto Increment。因为您不知道其他人是否也将lastID + 1值作为ID。

答案 1 :(得分:0)

更改您的查询并添加WHERE条件,例如

select ID from $sectionN 
where ID is not null
order by ID desc limit 1