Php 如何使用json回送数组?

Php 如何使用json回送数组?,php,mysql,json,pdo,Php,Mysql,Json,Pdo,我的代码似乎没有为$\u 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->exec

我的代码似乎没有为
$\u 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[] = $stmt->fetchAll(PDO::FETCH_ASSOC);
括号(
[]
)非常重要!您可以在中找到有关正确语法的更多信息


事实上,我认为您只具有“水果品种”的值,而不具有“水果名称”的值;)

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

 $rows[] = $stmt->fetchAll(PDO::FETCH_ASSOC);
括号(
[]
)非常重要!您可以在中找到有关正确语法的更多信息


事实上,我认为您只具有“水果品种”的值,而不具有“水果名称”的值;)

$rows有什么作为初学者?您能给我们看一下吗?如果两个都设置了,您的
$rows
将被覆盖。对于初学者,$rows有什么功能?你能给我们看一下吗?如果两行都设置了,你的
$rows
将被覆盖。我做了更改,但奇怪的是,我仍然用该解决方案获取“水果品种”的空白数据。我想前端的jquery脚本一定有问题。你们能帮我看一下吗提前谢谢!我做了更改,但奇怪的是,我仍然用该解决方案不断获得“水果品种”的空白数据。我想前端的jquery脚本一定有问题。你们能帮我看一下吗提前谢谢!