【发布时间】:2012-07-06 15:11:55
【问题描述】:
不知道为什么,在我使用函数 substr() 之后,当我签入数据库时没有值(空白),我无法将我的值更新到数据库。
$result = '000603040000000000GL17KWJ10881011215000000000100';
$invoice = substr($result, 8, 20); //output 0000000000GL17KWJ108
//update
$sql="UPDATE `order` SET invoice_pbb='$invoice' WHERE order_id=108";
$result=mysql_query($sql);
if($result){
echo "Successful";
}
else {
echo "ERROR";
}
column = invoice_pbbtype = varchar (100)
*如果我用硬编码更改值,我可以更新(不知道为什么)。
$invoice = '0000000000GL17KWJ108';
*我正在使用 https
如果你能帮助我,谢谢。
【问题讨论】:
-
if (!$result) die(mysql_error());- 这有什么表现吗? -
请显示错误。使用@deceze 的方法这样做
-
echo
$sql并在您的 MySQL gui 中运行它。你的答案就在那里。 -
我尝试了您的代码并回显了
$sql并得到了UPDATE `order` SET invoice_pbb='0000000000GL17KWJ108' WHERE order_id=108,不确定您那边出了什么问题 -
试试 print_r($invoice); - 似乎 substr 返回 false,在这种情况下,您可能想要重新命名、重新编写和重新标记您的问题,因为这与 mysql 无关。如果它是返回正确的值,那么我唯一能想到的就是某种奇怪的编码问题。