我的代码似乎没有返回$_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);
答案 0 :(得分:5)
在第一次查询后,您将覆盖放在$rows
中的值。你应该这样做:
$rows[] = $stmt->fetchAll(PDO::FETCH_ASSOC);
括号([]
)非常重要!您可以在PHP documentation中找到有关正确语法的更多信息。
实际上,我认为你只有fruitVariety的值,而不是fruitName;)