0

我有一个MySQL包含以下列的表格:

Hid     Hname    Lat                Lngt          Phone
---     -----    ---                ----          -----
Integer varchar  double(10,7)   double(10,7)  varchar

当我尝试更新列Hname、和时Lat,字段和(双精度类型)没有更新(并且得到正确更新)。谁能帮我找出问题所在?这是代码段:LongtPhoneLatLongtHnamePhonePHP

$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++;
}
4

3 回答 3

1

根据您的 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”,并且 in$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-03T06:26:39.467 回答
0
mysql_query("update health_block set Lat='$lat[$i]', Hname='$A', Longt='$lon[$i]', Phone='$phn[$i]' where Hid=$chk1[$i]",$con);
于 2013-09-03T06:26:43.633 回答
0

尝试将 {} 与数组变量一起使用。

更新 health_block 设置 Lat={$lat[$i]}, Hname=XXXX ... ";

于 2013-09-03T06:46:21.293 回答