我有一个包含以下列的MySQL表:
Hid Hname Lat Lngt Phone
--- ----- --- ---- -----
Integer varchar double(10,7) double(10,7) varchar当我尝试更新列Hname、Lat、Longt和Phone时,Lat和Longt字段(类型为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++;
}发布于 2013-09-03 06:26:39
根据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);发布于 2013-09-03 06:26:43
mysql_query("update health_block set Lat='$lat[$i]', Hname='$A', Longt='$lon[$i]', Phone='$phn[$i]' where Hid=$chk1[$i]",$con);发布于 2013-09-03 06:46:21
尝试使用{}和数组变量。
更新health_block集Lat={$lat$i},Hname=XXXX . ";
https://stackoverflow.com/questions/18585192
复制相似问题