gpt4 book ai didi

php - MySQL 查询正在使用 MySQL 命令行,但不适用于 MySQLi

转载 作者:行者123 更新时间:2023-11-30 22:50:42 25 4
gpt4 key购买 nike

我正在使用 Google 的算法根据我的 PHP 脚本中的坐标查找附近的位置:

if ($requestType == "closestPeers") {
$clientsCoordinates = mysqli_fetch_row(mysqli_query($connection,"SELECT latest_latitude,latest_longitude FROM Assets WHERE username='{$username}'"));
$longitude = $clientsCoordinates[0];
$latitude = $clientsCoordinates[1];
$miles = 0.0568182; /* 300 Feet, a bit larger than average Midtown Manhattan blocks */
$closestUsersQuery = "SELECT *,
( 3959 * acos( cos( radians('$latitude') ) *
cos( radians( latest_latitude ) ) *
cos( radians( latest_longitude ) -
radians('$longitude') ) +
sin( radians('$latitude') ) *
sin( radians( latest_latitude ) ) ) )
AS distance FROM Assets HAVING distance < '$miles' ORDER BY distance ASC LIMIT 0, 5";
$closestUsers = mysqli_fetch_all(mysqli_query($connection,$closestUsersQuery));
foreach ($closestUsers as $nearbyUser) {
$responseArray[$nearbyUser[1]] = $nearbyUser[4];
}
} else if ($requestType == "cellImage") {

但问题是,无论出于何种原因,此查询都无法正常工作。我可以在那个 mysqli_query() 上调用 mysqli_num_rows(),我会看到 10,但是当我使用这个查询时,我只得到一个空数组。

但是,我可以设置 $closestUserQuery = "SELECT * FROM Assets" 我得到一个包含所有行的数组,这显然非常低效并且肯定不适合这个特定的应用程序。我还可以在 MySQL 的命令行界面中调用 Google 提供的查询,我得到的正是我要查找的内容 -- 来自附近数据库的结果。

这些是我的 Assets 表的列: enter image description here

最佳答案

显然 0.0568182 英里太少了。如果我将其设置得更高一点,查询会运行,但不会加起来,因为它在 0.0568182 英里的 MySQL 命令行中返回结果。感谢阅读并尝试提供帮助!

关于php - MySQL 查询正在使用 MySQL 命令行,但不适用于 MySQLi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28248074/

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