我想看看附近的地点。我想查看最近的地点。我想根据纬度和经度来计算它。但我收到这个错误。谢谢。下面的评论是有效的,但我在使用 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/