我的代码似乎没有为 $_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);
括号 ([]
) 非常重要!您可以在 PHP documentation 中找到有关正确语法的更多信息。 .
实际上,我认为您只有 fruitVariety 的值,没有 fruitName 的值;)
关于php - 如何用 json 回显数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248609/