$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";