我的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
有什么问题吗?非常感谢你的帮助!
我在代码中没有看到任何解释该行为的内容。(关于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格式发送(响应)数据。 我试过这个,但没有得到输出: 代码: