php - 从 sql 获取数据到 php 数组中不返回任何内容
问题描述
我正在尝试对从 SQL 获取的数据进行 json_encode,但是,当我将其存储到 PHP 数组中时,它没有返回任何值。是否有任何我遗漏的代码或数组有限制?
我在循环中尝试了 json_encode() 但我需要 angular 4 来读取从 php 文件编码的 json 文件。另外,我尝试检查循环是否正常工作,它是否从 SQL 中获取了 56 行,但是当我将它放入 PHP 数组时,该数组显示的是一个空白的 PHP 文件。
/location.php (TRY1)
$sql = "SELECT * FROM api_locations";
$result = mysqli_query($con, $sql);
$outp = array();
if(mysqli_num_rows($result) > 0)
{
while($data = $result->fetch_assoc()){
$location = $data['loc_name'];
$feature = $data['feature'];
$lat = $data['lat'];
$lng = $data['lng'];
$desc = $data['description'];
$hrs = $data['hrs'];
$min = $data['min'];
$rating = $data['rating'];
$max_b = $data['budget_maximum'];
$min_b = $data['budget_minimum'];
$outp[] = array(
"location" => $location,
"feature" => $feature ,
"lat" => $lat ,
"lng" => $lng ,
"description" => $desc ,
"hrs" => $hrs ,
"min" => $min ,
"rating" => $rating ,
"budget_maximum" => $max_b ,
"budget_minimum" => $min_b ,
);
}
echo json_encode($outp);
}
或者我以另一种方式做了while循环:
while ($data = mysqli_fetch_assoc($result)) {
$outp[] = $data;
}
注意:执行 json_encode 时 $outp 仍然为空。
我希望输出会是这样的。
{"id":"1","loc_name":"Robinsons Magnolia","lat":"123.1321","lng":"12.213","feature":"Shopping","description":"Happy place to shop","hrs":"1","min":"30","rating":"4","budget_maximum":"5000","budget_minimum":"100"}
...
{"id":"56","loc_name":"CHICHIHC","lat":"213.1213","lng":"12.23131","feature":"娱乐","description":"制作的好地方kalokohan","hrs":"1","min":"30","rating":"4","budget_maximum":"100","budget_minimum":"50"}
但真正的输出是空白的。
我也尝试过这样做
$sql = "SELECT *
FROM api_locations WHERE id<=9";
这有效。完全!但是当它超过 9. 时仍然无法正常工作。
解决方案
推荐阅读
- python-3.x - Python 多处理池突然停止
- r - R如何在向量中找到一系列共同值(识别生长季节)
- python - 无限和有限级数的指数加权
- c++ - 无需超类化或子类化即可实现类似 CContainedWindow 的功能
- android - 使用Service进行网络通信的正确方法
- python - 将 Interactive Broker 数据格式化为 ProRealTime 的每日柱形图
- java - 如何为 java jdk bin 设置环境变量,以便它在命令提示符下显示相同的版本
- java - 链表问题
- javascript - 表单输入字段值问题
- python - 如何修复此 python 计算器错误?