gpt4 book ai didi

php - 距离计算未返回结果

转载 作者:行者123 更新时间:2023-11-29 13:49:31 25 4
gpt4 key购买 nike

来自 api.php 的代码:

    $lat = $_GET['lat'];
$lng = $_GET['lon'];

try {$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);}
catch(PDOException $e){echo($e->getMessage());}

$stmt = $dbh->prepare("SELECT *, (POW(69.1 * (`lat` - :lat), 2) +
POW(69.1 * (:lon - `long`) * COS(`lat` / 57.3), 2)) AS distance
FROM `venues` HAVING distance < SQRT(16) ORDER BY distance");
$stmt->bindParam(':lat', $lat, PDO::PARAM_STR);
$stmt->bindParam(':lon', $lon, PDO::PARAM_STR);


$venues = array();
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$venues[] = $row;
echo $_GET['jsoncallback'] . json_encode($venues);
}
}

访问 api.php?lat=LAT_VALUE&lon=LON_VALUE 时不会返回任何内容。

但是,当我在 SQL 中输入以下内容时:

SELECT * , (
POW( 69.1 * (`lat`-'LAT_VALUE'),2) + POW(69.1*('LON_VALUE'-`long`)*COS(`lat`/57.3),2)) AS distance
FROM `venues`
HAVING distance < SQRT( 16 )
ORDER BY distance
LIMIT 0 , 30

...它返回结果很好。

我的语法有什么问题?

最佳答案

$lon/$lng 变量有两个名称。试试这个:

$lon = $_GET['lon'];

关于php - 距离计算未返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16878887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com