php - 无法更新 mysql 中 double 类型的字段

标签 php mysql sql-update

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

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

当我尝试更新列 HnameLatLongtPhone 时,字段 LatLongt(type double)未更新(HnamePhone 已正确更新)。 谁能帮我解决这个问题吗?这是 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/

相关文章:

mysql - 如何根据不同的条件更新 MYSQL 列

php - 如何连接从数据库收到的 php 中的时间戳?

php - <head> 中的 Wordpress 关系循环

javascript - 单击 ajax 上的“喜欢”按钮不起作用

mysql - 更新ID列值而无需自动递增

mysql - 有多行与多列 : which is the way to go?

sqlite - 从 SQLite 中的另一个表更新单个指定值

javascript - 将数据ajax传递到foreach laravel 5中的同一页面

mysql - 为什么不能在mysql中添加外键

MySql 在插入更新之前触发计数