【发布时间】:2014-10-27 10:45:29
【问题描述】:
我在 PHP 中有以下 MySQL 查询:
function queryTagsTable($tag) {
global $pdo;
$sql = "SELECT id, latitude, longitude FROM tbl WHERE id IN (SELECT id FROM `tbl_tags` WHERE tag = :tag)";
$stmt = $pdo->prepare ( $sql );
$stmt->bindValue(':tag', $tag);
if ($stmt->execute()) {
$result = $stmt->fetchAll();
foreach ($result as $row) {
echo $row['id'].', '.$row['latitude'].', '.$row['longitude'].' ';
}
}
}
在我的数据库中,对于等效的原始 sql 查询,我得到以下结果:
276 32.082504109184285 34.89628862589598
然而,我的 PHP 代码的回显似乎总是将纬度和经度结果四舍五入到小数点后 12 位,产生:
276, 32.082504109184, 34.896288625896
在我的数据库中,id 是 INTEGER,而纬度和经度是 DOUBLE。我希望 PHP 查询返回纬度和经度的完整值,以产生最大精度。如何从我的 PHP 函数接收这些结果的全部价值?
【问题讨论】:
-
@Rajarshi Goswami 该链接不适用,因为数据类型不同,并且该答案仅适用于
DECIMAL类型 -
@RajarshiGoswami 所以你建议我将纬度和经度的数据类型更改为 DECIMAL?