我有一个包含以下列的 MySQL
表:
Hid Hname Lat Lngt Phone
--- ----- --- ---- -----
Integer varchar double(10,7) double(10,7) varchar
当我尝试更新列 Hname
、Lat
、Longt
和 Phone
时,字段 Lat
和 Longt
(type double)未更新(Hname
和 Phone
已正确更新)。
谁能帮我解决这个问题吗?这是 PHP
代码段:
$i=0;
foreach($chk as $A)
{
echo $lat[$i]; echo $lon[$i]; //It displays the correct values
mysql_query("update health_block set Lat=$lat[$i], Hname='$A', Longt=$lon[$i], Phone='$phn[$i]' where Hid=$chk1[$i]",$con);
$i++;
}
最佳答案
根据您的 mysql 查询,存在拼写错误。
您的 mysql 查询是
mysql_query("update health_block set Lat=$lat[$i], Hname='$A', Longt=$lon[$i], Phone='$phn[$i]' where Hid=$chk1[$i]",$con);
示例数据中的列名称为“Lngt”,在 mysql 查询中为“Longt”,在 $phn[$i]
中也用单引号引起来。
如果是这样,请改用它
mysql_query("update health_block set Lat=$lat[$i], Hname='$A', Lngt=$lon[$i], Phone=$phn[$i] where Hid=$chk1[$i]",$con);
最好的方法是先将数组项分配给变量,然后将其放入 mysql 查询中。 例如
$latitude = $lat[$i];
$longitute = $lon[$i];
$phoneNum = $phn[$i];
$check1 = $chk1[$i];
mysql_query("update health_block set Lat='$latitude', Hname='$A', Lngt='$longitute', Phone=$phoneNum where Hid='$check1'",$con);
关于php - 无法更新 mysql 中 double 类型的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585192/