php - 查找距离 MySQL 最近的地方

标签 php mysql react-native

我想看看附近的地点。我想查看最近的地点。我想根据纬度和经度来计算它。但我收到这个错误。谢谢。下面的评论是有效的,但我在使用 React Native 拉取 php 文件时收到“json 解析错误:无法解析 json 字符串”错误。我更新了主题。

React Native 代码

fetch('http://.../KONUM.php')
    .then((response) => response.json())
    .then((responseJson) => {
        firebase.database().ref('/KONUM/').set(responseJson);
    })
    .catch((error) => {
        console.error(error);
    });

'Notice: Undefined variable: json in /home/.../public_html/database/...php on line 32'

这是我的代码:

ID = 4
ADI_SOYADI = STAK NEW
ADRES = 77.2413969039917
ACIK_ADRES = 28.653838307772872

<?php
include 'DBConfig.php';

// Create connection
$conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);

if ($conn->connect_error) {  
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT ID,ADI_SOYADI, ( 3959 * acos( cos( radians(37) ) * cos( radians( ADRES ) ) * cos( radians( ACIK_ADRES ) - radians(-122) ) + sin( radians(37) ) * sin( radians( ADRES ) ) ) ) AS distance FROM komutlab_soyle_gelsin.TBL_MUSTERILER HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row[] = $result->fetch_assoc()) {
        $tem = $row;
        $json = json_encode($tem);
    }
} else {
    echo "No Results Found.";
}

echo $json;
$conn->close();
?>

最佳答案

您应该在 if-else 表达式的范围之外定义 $json:

$json = NULL;
if ($result->num_rows > 0) {
    while($row[] = $result->fetch_assoc()) {
        $tem = $row;
        $json = json_encode($tem);
    }
}
else {
    echo "No Results Found.";
}
echo $json;

但是,如果所有 SQL 逻辑都没有错误地进行,您很可能只想使用 JSON。因此,在这种情况下,我可能会将 echo 调用移至 if 条件内部:

if ($result->num_rows > 0) {
    while($row[] = $result->fetch_assoc()) {
        $tem = $row;
        $json = json_encode($tem);
        echo $json . "\n";
    }
}
else {
    echo "No Results Found.";
}

关于php - 查找距离 MySQL 最近的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58391680/

相关文章:

c# - Xamarin - 尝试读取 JSON 时出错

php - 使用 Slim 框架的 REST API 客户端 key

java - 使用JSP和TOMCAT无法连接MYSQL数据库

ios - 在将应用程序从 swift 迁移到 native react 后,是否可以在应用程序中检索用户 token ?

javascript - React-Native 应用程序上的 AppLock 功能

php - 列表框和 mysql 值

php - Laravel 5.4.* - 运行 artisan 时 ""目录不存在

mysql - 在其他 groupby 组中添加计数 = 0 的新行

php - 在 PHP/MySQL 查询中访问动态值

android - React Native 自定义字体适用于 IOS 但不适用于 Android