从PHP中从MySQL中获取数据

问题描述 投票:0回答:1

下面的代码行每个城市只提取一个名称,因为每个城市有很多名称。

代码

function getNames() {
$data = array();
$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
$qdata = $db->prepare("SELECT City, Name from CityRecord where Year = ?");
$qdata->bind_param("s", '2019');
$qdata->execute();
$qdata->bind_result($City, $Name);
while($qdata->fetch()) {
      $data[$City] = array("Name" => $Name);
}
print_r($data);
}

预期输出

City1
   Name1
   Name2
City2
   Name1
   Name2
php mysqli
1个回答
0
投票

您必须使用多维字段。

尝试一下:

function getNames() {
    $data = array();
    $db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
    $qdata = $db->prepare("SELECT City, Name from CityRecord where Year = ?");
    $qdata->bind_param("s", '2019');
    $qdata->execute();
    $qdata->bind_result($City, $Name);
    while ($qdata->fetch()) {
        $data[$City][] = array("Name" => $Name);
    }
    //print_r($data);
    foreach ($data as $key => $value) {
        print_r($value);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.