Php 无法在mysql中更新double类型的字段
我有一个带有以下列的Php 无法在mysql中更新double类型的字段,php,mysql,sql-update,Php,Mysql,Sql Update,我有一个带有以下列的MySQL表: Hid Hname Lat Lngt Phone --- ----- --- ---- ----- Integer varchar double(10,7) double(10,7) varchar 当我尝试更新列Hname、Lat、long和Phone时,字段Lat和long(键入double)没有更新(Hname和Phone
MySQL
表:
Hid Hname Lat Lngt Phone
--- ----- --- ---- -----
Integer varchar double(10,7) double(10,7) varchar
当我尝试更新列Hname
、Lat
、long
和Phone
时,字段Lat
和long
(键入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查询中是'lont',在$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);
尝试将{}与数组变量一起使用 更新运行状况\块集Lat={$Lat[$i]},Hname=XXXX。。。“
请显示
var_dump($lat[$i]);var_dump($lon[$i]);
它将类型显示为字符串。我刚刚将它们括在引号中。它现在可以正常工作。感谢您的建议检查下面的答案和详细信息。您需要检查mysql_query()的错误。但是字段名为“long”(如query中所示).事实上,问题是,我漏掉了引语。它现在很好用。
mysql_query("update health_block set Lat='$lat[$i]', Hname='$A', Longt='$lon[$i]', Phone='$phn[$i]' where Hid=$chk1[$i]",$con);