【发布时间】:2012-08-21 17:24:15
【问题描述】:
我有一张供用户付款的表格。我需要为每笔交易指定一个收据代码,所以我需要知道最后一笔是什么?如果没有以前的收据,我想用 1000 添加第一个收据,其他收据必须是增量的,如 1001, 1002, ...
为此,我写了这段代码:
$receipt = '1000';
$query_receipt = mysql_query("SELECT MAX(receipt) FROM tbl_payments");
$max = mysql_result($query_receipt,0);
if ($max != '0' || $max != '')
{
$receipt = mysql_result($query_receipt,0) + 1;
}
当我在表中有记录时它工作正常。但是当表为空时它返回 1 。我怎么解决这个问题?即使表为空,我也需要知道 SELECT MAX() ... 的返回值。
【问题讨论】:
-
如果您需要一个值随着添加的每一行而增加,您应该使用自增列而不是尝试自己生成 id。
-
您到底需要什么?您不期望 1. 那么当 table 为空时您的预期输出是什么?
标签: php mysql select return-value max