【问题标题】:How do I echo an array with json?如何用 json 回显数组?
【发布时间】:2011-11-07 02:18:34
【问题描述】:

我的代码似乎没有为 $_GET['fruitVariety'] 返回 JSON,知道为什么吗? 我的数据库已正确设置。

好像 json_encode 只能回显 1 个数组。

$rows = array();

if(isset($_GET['fruitName'])) {
    $stmt = $pdo->prepare("SELECT DISTINCT variety FROM fruit WHERE name = ? ORDER BY variety");
    $stmt->execute(array($_GET['fruitName']));
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}

if(isset($_GET['fruitVariety'] )) {
    $stmt = $pdo->prepare("SELECT DISTINCT fruittype FROM fruit WHERE name = ? ORDER BY fruittype");
    $stmt->execute(array($_GET['fruitVariety']));
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}

echo json_encode($rows);

【问题讨论】:

  • $rows 对于初学者有什么好处?你能告诉我们吗?
  • 你的$rows 被覆盖如果两者都设置了。

标签: php mysql json pdo


【解决方案1】:

在第一次查询之后,您将覆盖您在 $rows 中输入的值。你应该这样做:

 $rows[] = $stmt->fetchAll(PDO::FETCH_ASSOC);

括号([])非​​常重要!您可以在PHP documentation 中找到有关正确语法的更多信息。

实际上,我认为您只有fruitVariety 的值,而没有fruitName 的值;)

【讨论】:

  • 我进行了更改,但奇怪的是,我仍然使用该解决方案不断获得“fruitVariety”的空白数据。我想前端的jquery脚本一定有问题。你们能在这里找我吗? :stackoverflow.com/questions/7191910/…提前致谢!
猜你喜欢
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
  • 2012-08-30
  • 1970-01-01
  • 2021-09-14
相关资源
最近更新 更多