当前位置: 首页 > 知识库问答 >
问题:

MySQL到JSON使用PHP(口音我认为)

缑勇锐
2023-03-14

我的PHP代码有一个问题,它将查找整个SQL表,然后以JSON格式显示它。

下面是PHP代码:

<?php
*CONFIG MYSQL*
    $lat=$_GET["lat"];
    $lng=$_GET["lng"];
      $dblink = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

    $command = "SELECT *, 111.045 * DEGREES(ACOS(COS(RADIANS($lat))
     * COS(RADIANS(app_lieux.lat))
     * COS(RADIANS(app_lieux.lng) - RADIANS($lng))
     + SIN(RADIANS($lat))
     * SIN(RADIANS(app_lieux.lat))))
     AS distance_in_km
    FROM app_lieux
    ORDER BY distance_in_km ASC
    LIMIT 0,5";

      $result = $dblink->query($command);
      $dbdata = array();
      while ( $row = $result->fetch_assoc())  {
        $dbdata[]=$row;
      }
    echo json_encode($dbdata);
    ?>

当我尝试转到脚本时,我有一个没有错误的空白页。http://notaire-gilles-france.be/charleroi2/lieux.php?lat=50.44348

有什么问题吗?非常感谢你的帮助!

共有2个答案

凌征
2023-03-14

我只是找到了答案:

$utf8 = utf8_encode($result);
$json = json_encode($utf8);

这很简单。

宰父俊彦
2023-03-14

我在代码中没有看到任何解释该行为的内容。(关于SQL注入的评论是有效的;关于确保启用错误报告的评论,以及所有这些。)

主要嫌疑犯是调用json\u encode。我怀疑这遇到了一个问题,返回FALSE

用于调试...

我会尝试注释调用json\u encode。然后做一个var_dump($dbdata),看看是否返回了一个包含多个元素的数组。

我还建议在回显之前检查json\u encode的返回。将来自json\u encode的返回值分配给一个变量。然后测试它是否为FALSE,并var\u dump变量。

我会两样都做。

我测试了提供的链接。随着lat和lng的各种值,我能够让浏览器(Chrome)查看页面源显示:

[{"id":"20","nom":"Monument ARIELLE CARLIER","lat":"50.413807","lng":"4.425867",...

另一次,

...,"nom":"Chariot Minier","lat":"50.406054","lng":"4.463691",...

但我只退了一排。鉴于两个不同的结果,似乎表包含至少两个条目,所以我希望得到至少两行。

我的猜测(这只是一个猜测)是从查询中检索到的数据存在编码问题,json\u encode正在犹豫。我猜在我两次能够获取数据的时候,json_encode成功地通过了数组中的第一行,然后它就被加载了。

 类似资料:
  • 我试图使用一个代码,将数据从一个mySQL数据库绑定到一个变量的数据,把所有产生的$x到一个PHP数组,最后将其转换为JSON格式。然后,我将JSON转换为javascript来处理来自数据库的数据。 请查看我的代码: 我的问题是,为什么页面将其显示为输出,而不将数据传输到阵列 "准备("SELECT x从数据")) { $stmt-

  • 问题内容: 因此,我需要通过php查询数据库,然后将查询转换为.json文件以使用Google图表。 我如何通过PHP将mysql查询转换为.json文件,如下所示: PS:此示例引自Google 问题答案: 您可以使用功能。 从数据库获取数据并将其分配给数组 然后使用。这将产生json结果。点击这里 使用功能将json结果保存到您的.json文件 以下是示例代码,

  • 问题内容: 我在Mac上将AngularJS 1.0,PHP和mysql与localhost一起使用。 我有一个非常简单的mysql数据库:“ cats”。它具有一张称为“小猫”的表。该表有两列,“ id”和“ name”。数据库中有三只小猫,名字分别是Larry,Curly和Moe。 现在,我有一些简单的PHP代码,可以打开dbase,获取三个记录并以JSON形式返回它们,如下所示:[{“ id

  • 问题内容: 我正在尝试使用杂志api获取以下json内容。json的输出是这样的。我希望下面的json转换为php数组。 我的代码如下所示。 上面的代码返回一个空数组。:(如何将上述JSON转换为php对象数组。我很无奈。 谢谢哈恩 问题答案: 您提供的JSON示例无效。使用此JSON验证程序http://jsonlint.com/在线进行检查。您需要删除第59行上的多余逗号。 一个拥有有效jso

  • 问题内容: 我想以json格式向php发送一些数据,并在php中进行一些操作。我的问题是我无法通过Ajax将json数据发送到我的php文件。请帮助我该怎么做。我已经尝试过这种方式.. 在PHP中,我使用: 在php文件中添加print_r($ _ POST)时,它在firebug中显示array(0){}。 问题答案: 输了。您没有将JSON发送到服务器,而是发送了普通的POST查询(恰好包含J

  • 我想使用PHP将大量MySQL数据转换为JSON。我有20K及以上的记录,但我无法将MySQL数据转换为JSON。我想创建RESTAPI,所以需要以JSON格式发送(响应)数据。 我试过这个,但没有得到输出: 代码: