php语句表的空结果

时间:2017-08-06 09:53:34

标签: php mysql arrays

我正在尝试在数据库中添加多种语言选项。我创建了一个表如下。

enter image description here

我的PHP功能是:

    public function Languages(){
     $query=mysqli_query($this->db,"
SELECT  * FROM languages") or die(mysqli_error($this->db)); 
                while($row=mysqli_fetch_array($query,MYSQLI_ASSOC)) {
                 $data[]=$row;
              }
             if(!empty($data)) {
                // Store the result into array
                return $data;
              } 
            }

所以我也使用以下代码显示结果,但是我得到了空结果:

<?php 
  $language = $ReSult->Languages();
   $userLanguage = 'english';
   echo  $language['your_family'][$userLangauge];
?>

我知道如果我使用$language['1'][$userLanguage];然后我得到一个结果,但我不想在这里使用id。有没有办法在不使用ID的情况下显示结果?

3 个答案:

答案 0 :(得分:2)

您可以将结果存储在关联数组中:

while ($row = mysqli_fetch_array($query,MYSQLI_ASSOC)) {
    $data[$row['lang_key']] = $row;
}

这样,您可以通过其密钥直接访问数据:

echo $language['your_family'][$userLangauge];

答案 1 :(得分:1)

结帐

function getIndex($language  , $key)
{
  foreach ($language as $row) 
  {
    if (strcmp($row["lang_key"] , $key)==0) {
      return $row["id"]
    }  
  }
  return null;
}

...

echo $language[getIndex($language , "your_family")][$userLanguage];

答案 2 :(得分:1)

你可以这样试试,

while ($row = mysqli_fetch_assoc($query)) {
    $data[$row['tagKey']] = $row;
}