$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 任何人都可以帮助我摆脱这个问题
答案 0 :(得分:1)
在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 );
答案 1 :(得分:0)
因为你传递了一个数字... concat将它作为一个整数处理.. 所以首先尝试使用php连接它,然后将其传递给您的查询:
$invoice_no = 'W-'.$id.'/1420';
$query="update invoice set
invoice_no='$invoice_no'
where invoice_id=$id";