2012-08-30 47 views
0

为什么echo提供16而不是SQL查询UPDATE...Echo返回数字而不是字符串

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; 
} 
+0

@ raina77ow:ejecutar_query在这里并不重要,因为问题出在$ query。它等于16而不是正常的查询语句。 Matei Mihai的答案解决了这个问题。 – Gusgus

回答

3

试试这样说:

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

这是好吗?

+0

是的,它现在有效,因为$ query现在是一个UPDATE语句。 – Gusgus

2

正确的代码(检查:($ 1 + 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。

相关问题