【问题标题】:Echo returns the number instead of a stringEcho 返回数字而不是字符串
【发布时间】:2012-08-30 10:58:18
【问题描述】:

为什么 echo 提供 16 而不是 SQL 查询 UPDATE...

for ($i=0;...) {
    $lat = round(($deg + $min/60 + $sec/3600),6);

    $query = "UPDATE `Parking` 
              SET lat=" . $lat . " 
              WHERE id = " . $i+16 . "";
    $result=ejecutar_query($query);
    echo $query;
}

【问题讨论】:

  • @raina77ow: ejecutar_query 在这里并不重要,因为问题出在 $query 上。它等于 16 而不是普通的查询语句。 Matei Mihai的回答解决了这个问题。

标签: php sql echo rounding


【解决方案1】:

试试这样:

 $query = "UPDATE `Parking` 
           SET lat=" . $lat . " 
           WHERE id = " . ($i+16);
 $result=ejecutar_query($query);
 echo $query;

这样好吗?

【讨论】:

    【解决方案2】:

    正确的代码是(检查:($i+16)):

    for ($i=0;...) {
        $lat = round(($deg + $min/60 + $sec/3600),6);
    
        $query = "UPDATE `Parking` 
                  SET lat=" . $lat . " 
                  WHERE id = " . ($i+16) . "";
        $result=ejecutar_query($query);
        echo $query;
    }
    

    因为 PHP 几乎不是类型语言,所以 + 运算符将所有内容都转换为 int。

    【讨论】:

      猜你喜欢
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 2019-09-15
      • 1970-01-01
      • 2018-02-28
      • 2021-08-25
      相关资源
      最近更新 更多