$invoice_id = $data['invoice_id'];
$remark = ' ### Manually set as Paid Note: '.$data['paid_note'].' ###';
$sql = "UPDATE tbl_invoice SET payment_status = 1, remark = remark+'$remark' WHERE invoice_id = $invoice_id";
这应该为“备注”字段附加新值。但备注字段更新为“0”。奇怪的!无法找出我的代码出了什么问题。任何想法?
注意:我正在使用 MySql DBMS。
最佳答案
你应该学会使用参数。但你的问题是使用 +
,这是加法。我猜你想要字符串连接:
UPDATE tbl_invoice
SET payment_status = 1,
remark = CONCAT(remark, '$remark')
WHERE invoice_id = $invoice_id;
但是,代码应该看起来更像这样:
UPDATE tbl_invoice
SET payment_status = 1,
remark = CONCAT(remark, ?)
WHERE invoice_id = ?;
其中 ?
是参数的占位符。
关于mysql - 为什么将文本附加到字段中并全部替换为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49129629/