ID增量0001 1显示2



我有具有IDS 00010002等的简单数据库。我必须获得我的最后一个ID并在末尾加1个。

我将其保存到$_SESSION['part_number'] = $part_number + 1;我不知道如果ID为0001,为什么我会得到2个结果。同样,如果ID是0010等,我想让它始终在前面使用ID 1。

尝试使用以下

$part_number = (int)$part_number;
$part_number++
$_SESSION['part_number'] = str_pad($part_number, 4, '0', STR_PAD_LEFT);

PHP是一种动态键入的语言。为了避免奇怪的转换,永远不要使用领先的零,尤其是对于数据库,您只会使自己的生活更加艰难。(AUTO_INCREMENT字段为您完成所有工作,如果您确实需要,可以在MySQL侧添加领先的零)。也可能存在一个问题,即以0开头的数字被解释为八进制(基本8)数字,如果您使用了php。

在SQL侧进行所有操作,

只需将ID字段更改为AUTO_INCREMENT,然后使用MySQL函数LPAD()用领先的零来检索数据。

SELECT LPAD(id, 4, '0') AS id FROM your_table_name WHERE ...

使用STR_PAD_LEFT

echo str_pad( $_SESSION['part_number'], 4, "0", STR_PAD_LEFT ); //0002 

echo str_pad( $part_number+1, 4, "0", STR_PAD_LEFT ); //0002 

最新更新