$query="update invoice set
invoice_no=CONCAT('W-',$id,'/1420')
where invoice_id=$id";
这里$id=004,但每次更新为id=4,所以我的invoice_no变成W-4/1420而我想要这样的 W-004/1420谁能帮我摆脱这个问题
在
PHP代码中格式化它。使用带有前导零的格式的sprintf()
:
$query = sprintf('update invoice set
invoice_no="W-%03d/1420"
where invoice_id=%d', $id, $id );
或避免重复$id
参数:
$query = sprintf('update invoice set
invoice_no="W-%1$03d/1420"
where invoice_id=%1$d', $id );
既然你传递了一个数字...Concat 会将其作为整数处理。因此,请尝试先使用 PHP 连接它,然后将其传递给您的查询:
$invoice_no = 'W-'.$id.'/1420';
$query="update invoice set
invoice_no='$invoice_no'
where invoice_id=$id";