0
$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 谁能帮我摆脱这个问题

4

2 回答 2

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 );
于 2013-08-19T07:23:35.680 回答
0

由于您要传递一个数字... concat 会将其作为整数处理.. 所以尝试先使用 php 连接它,然后将其传递给您的查询:

$invoice_no = 'W-'.$id.'/1420';
$query="update invoice set
invoice_no='$invoice_no'
where invoice_id=$id";
于 2013-08-19T07:37:27.420 回答