IS NOT NULL MySQL 查询上的 PHP 白屏

标签 php mysql json

我在 PHP 从数据库获取文本数据时遇到问题。有问题的数据是我从 share.mapbbcode.org 导出的 JSON 运行路线,因此我可以将它们绘制在 OSM map 上以进行个人跟踪。

我正在尝试制作一个主 map ,显示我过去跑过的所有路线,为此,我将循环遍历表中的每一行,其中 RunGeoJSON 填充有运行路线的 JSON 坐标,而忽略没有数据的列。 (我已经设置了一个表,我可以从该表中使用 JSON 坐标执行 POST,但不同之处在于该表显示数据库中的所有行,因为我还显示该表中的其他行(重量、运行/步行距离、骑行距离等)

JSON 坐标在数据库中的格式如下:

[[-94.8472,38.97746],[-94.84675,38.97778],[-94.84418,38.97804],[-94.84401,38.98732],[-94.84396,38.99436],[-94.84231,38.99434],[-94.84205,38.99459],[-94.8419,38.99904],[-94.83943,38.99909],[-94.83948,39.01235],[-94.83928,39.01417],[-94.83931,39.01693],[-94.83978,39.01682],[-94.83935,39.01658],[-94.83847,39.01655],[-94.83785,39.01645],[-94.83727,39.01602],[-94.83654,39.01563],[-94.83587,39.01497],[-94.83523,39.015],[-94.83474,39.01557],[-94.83424,39.01568],[-94.83358,39.01587],[-94.833,39.01567],[-94.83201,39.01513],[-94.83119,39.01483],[-94.83064,39.015],[-94.8304,39.01597],[-94.82993,39.01645],[-94.82909,39.01657],[-94.82798,39.01677],[-94.83542,39.04099],[-94.8357,39.04054],[-94.83737,39.0404],[-94.83808,39.0402],[-94.84506,39.04104]]

当查询忽略空行时,PHP 似乎无法正确返回结果。我知道 PHP 可以读取数据,因为上述表允许我获取 GeoJSON 坐标并将其 $_POST 到另一个文档。

<?php include '/ASWebUI/Templates/Header.php'; // Database connectivity established here
$query = "SELECT RunGeoJSON FROM Fitness WHERE RunGeoJSON IS NOT NULL;";
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_array($result))
{
echo "<p/>" . $row['RunGeoJSON']; // Should output the [[Lat,Lon],[...]] coordinates
} ?>

MySQL 返回 9 行,根据需要使用相同的查询剪切并粘贴到 mysql 命令提示符中填充,因此查询没有缺陷。

不幸的是,这不起作用,当我打开错误报告时,我得到了一个空白屏幕,没有错误。

此外,当我尝试执行 mysqli_fetch_assoc 时,我返回了“NULL”,因此不知何故此查询未获取数据。

所有其他查询(我有很多)都运行良好。


2014 年 6 月 9 日更新

还是没有运气。我改用了 PDO MySql,但运气也不好。

$stmt_RGJ = $dbpdo -> prepare("SELECT RunGeoJSON FROM Fitness WHERE RunGeoJSON IS NOT NULL;");
$stmt_RGJ -> execute();
while ($row_RGJ = $stmt_RGJ -> fetch(PDO::FETCH_ASSOC)) {
echo "<br/>" . $row_RGJ['RunGeoJSON'];
}

查询之前的 PHP 工作正常,只是查询在控制台中工作时在 PHP 中不起作用。不知道发生了什么 - 除非 PHP 不知道如何使用 IS NOT NULL 处理 MySQL 查询。在另一个页面中使用 GetGeoJSON 与同一表中的其他字段(不使用 IS NOT NULL)结合进行查询也可以正常工作。

最佳答案

找到了答案,它与查询或 PHP 完全无关。这是因为我已将 PHP 文件放在子文件夹中,虽然我确实使用相对路径引用了“Header.php”,但 Header.php 文件具有 Header.php 位置的相对路径,这意味着我需要的所有 JavaScript 文件没有被正确定位。卫生部!

关于IS NOT NULL MySQL 查询上的 PHP 白屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24091706/

相关文章:

php - 围绕我假设的复杂 MySQL 查询进行思考

php - 删除除主要 style.css 之外的版本字符串查询

php - Twig 评估变量内的变量?

mysql - 更新变量的值而不在 mysql 中打印其值

mysql - 在 INNER JOIN 上选择 MIN 值

php - 如何在 json 中包含一个 php 变量并传递给 ajax

php - 延迟执行PHP脚本

php - 我可以使用 Actionscript 3.0 发送电子邮件吗?还是需要使用 PHP?

php - jQuery UI 自动完成不会显示返回的 json (PHP)

python - 如果文件存在,使用装饰器检索 jsondata,否则运行方法然后将输出存储为 json?