gpt4 book ai didi

php - MySQL PHP 查询即使使用 DISTINCT 也会返回重复结果

转载 作者:行者123 更新时间:2023-11-29 08:12:52 25 4
gpt4 key购买 nike

我遇到了这个问题,php 将在 json echo 中返回重复的行,它在数据库本身中工作,只是 php 在某个地方搞乱了它,我不确定在哪里。

<?php   
$con = mysql_connect("host","user","pass");
if (!$con)
{
die('could not connect: ' . mysql_error());
}
mysql_select_db("db", $con);

$sql = "SELECT DISTINCT INFO, ( 6364 * acos( cos( radians(55.952) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-3.187) ) + sin( radians(55.952) ) * sin( radians( lat ) ) ) ) AS distance FROM table HAVING distance <0.5 ORDER BY distance LIMIT 0 , 20";


$result = mysql_query($sql,$con);
if (!$result)
{
echo "db error\n";
echo 'MySQL Error : ' . mysql_error();
}
while ($row = mysql_fetch_array($result))
{
$output[]=$row["INFO"]; //added ["INFO"] to protect my location and make the problem easier to see.
echo (json_encode($output));
}
?>

它返回:

["这是我学习的地方"]["这是我学习的地方","这是我住的地方"]["这是我学习的地方","这是我住的地方","这是我可以游泳的地方”]

即= [0][0,1][0,1,2] 我需要它简单地返回 [0,1,2] 进行java操作。

提前谢谢您,我是 php/mysql 的新手,所以欢迎提出任何评论。

最佳答案

马克是正确的,你需要做这样的事情:

while ($row = mysql_fetch_array($result)) 
{
$infos[]=$row["INFO"]; //added ["INFO"] to protect my location and make the problem easier to see.
}

foreach ($infos as $info) {
echo (json_encode($info));
}

关于php - MySQL PHP 查询即使使用 DISTINCT 也会返回重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21246633/

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