PHP MYSQL Json 问题
Posted
技术标签:
【中文标题】PHP MYSQL Json 问题【英文标题】:PHP MYSQL Json Issue 【发布时间】:2018-07-13 17:52:35 【问题描述】:我们有一个简单的 php mysql json api 来向 android app 提供数据
我们有一个修复类别。
所以我们只检查类别是否是这个然后从mysql数据库中获取结果并转换为json
一切正常。从 mysql 获取 url
$stm_row = $stm->fetchAll(PDO::FETCH_ASSOC);
到这里一切正常。数据来自每个类别
然后,我们将数据转换为 JSON:
print(json_encode($stm_row));
但问题是使用 json 打印的只有 1 个类别数据,其余类别数据显示空白
你能检查一下有什么问题吗
【问题讨论】:
在 PHP 中使用foreach
或 loops
就可以了
这里如何使用循环?以下是我的最终代码。你能按照你的说法编辑和添加循环吗?
if($stm_row_count>=1) $stm_row = $stm->fetchAll(PDO::FETCH_ASSOC);打印(json_encode($stm_row)); else print('找不到工作');
【参考方案1】:
如果你想遍历结果...例如
$stm_row = $stm->fetchAll(PDO::FETCH_ASSOC);
foreach ($stm_row as $row => $cat)
echo $cat['category_name'];
或者如果你已经编码了 JSON,需要先解码,这将返回一个数组......你可以像这样循环遍历......例如
$stm_row = json_encode($stm_row);
$arr = json_decode($stm_row, true);
foreach ($arr as $row => $cat)
echo $cat['category_name'];
【讨论】:
你不懂的东西。一切正常。数据以数组形式出现。但是当我们使用 print(json_encode($stm_row));显示 json 数据,然后它只显示 1 个类别的数据。不休息类别 多合一打印(json_encode($stm_row));显示空白数据 做var_dump($stm_row);
并验证所有类别都在那里【参考方案2】:
我正在给你简单演示如何使用 json。你可以这样尝试
$data=array();
while($row = mysqli_fetch_array($query))
$data[] = $row['your field name'];
echo json_encode(array("response"=>$data));
【讨论】:
我没有使用 MYSQLI,我们使用的是 PDO 我给你演示了你可以根据需要更改 mysqli 或 pdo 但问题是它将获取 1 行 1 次。我想要一次所有数据以上是关于PHP MYSQL Json 问题的主要内容,如果未能解决你的问题,请参考以下文章