Php 多值数组

Php 多值数组,php,mysql,sql,arrays,json,Php,Mysql,Sql,Arrays,Json,我有一个表格(见下图),其中包括一系列不同草药的波兰语和拉丁语名称 我想获得一个$Herbers[]数组,其中每行包含一个数组,例如: $herbs = [[mieta pieprzowa, mentha piperita],[kozlek lekarski, valeriana medicinalis]...] 接收拉丁名称的代码如下所示,我应该更改什么 <?php $connection = new mysqli("127.0.0.1","root","password","herb

我有一个表格(见下图),其中包括一系列不同草药的波兰语和拉丁语名称

我想获得一个
$Herbers[]
数组,其中每行包含一个数组,例如:

$herbs = [[mieta pieprzowa, mentha piperita],[kozlek lekarski, valeriana medicinalis]...]
接收
拉丁名称的代码如下所示,我应该更改什么

<?php
$connection = new mysqli("127.0.0.1","root","password","herbarium");
if ($connection→connect_error) die("Fatal Error");
$herb = $_GET['q'];
$query = "SELECT * FROM herbs WHERE (latin_name LIKE '%$herb%') OR (polish_name LIKE '%$herb%')";
$result = $connection→query($query);
$data = array();
while ($row=$result→fetch_assoc()){
$data[] = $row['latin_name'];
}
echo json_encode($data);
?>

我相信您正在寻找对SQL查询的一个小改动

在下面的示例中,我将您的查询更改为只获取两列(拉丁语和波兰语名称),而不是使用
while()
循环,您可以一次获取所有记录(直到您不需要处理此数据)

它应该返回一个带有
key=>value
结果的数组,如下所示:

[
  [
    'latin_name' => 'Abc',
    'polish_name' => 'Abc_PL'
  ],
  // ...
]

哪种方法可能比只返回值更好。

错误是什么?另外,考虑一下SQL注入:您想得到整行吗?那么为什么不从这行中删除
['latin_name']
$data[]=$row['latin_name']?我想要的不是拉丁名,而是波兰语名,所以它会像例子一样,谢谢:>对我来说更大、更容易理解@法马塞特·波沃泽尼亚!;)ęki,ęki;)你的朋友是谁。。。Jakkolwiek zwraca mi teżwartośćz polish_名字,给Niestty nie ma Ogonkow,一个来自utf-8的baza danych笑话。。。co poradzic na to?Sprawdz i czy plik.php ma kodowanie utf8
[
  [
    'latin_name' => 'Abc',
    'polish_name' => 'Abc_PL'
  ],
  // ...
]