如何使用json回显数组?

Jro*_*oen 1 php mysql json pdo

我的代码似乎没有返回JSON $_GET['fruitVariety'],任何想法为什么?我的数据库设置正确.

这就像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);
Run Code Online (Sandbox Code Playgroud)

krt*_*tek 5

您将覆盖$rows第一个查询后放入的值.你应该做 :

 $rows[] = $stmt->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

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

实际上,我认为你只有fruitVariety的值,而不是fruitName;)