Php mysqli fetch_array()仅将检索到的第一行数据转换为数组

Php mysqli fetch_array()仅将检索到的第一行数据转换为数组,php,arrays,mysqli,fetch,Php,Arrays,Mysqli,Fetch,似乎发生的事情是,$result\u标记只保存检索到的sql数据的第一行 在中对SQl运行结果查询时,返回一个包含多行的表。 但是,当Ivar_dump()it时,它只返回第一行,不返回其他任何内容 while($row = $results->fetch_array(MYSQLI_BOTH)) { echo ....stuff that dont matter //Now I want some SQL results based on a result from

似乎发生的事情是,$result\u标记只保存检索到的sql数据的第一行

在中对SQl运行结果查询时,返回一个包含多行的表。 但是,当Ivar_dump()it时,它只返回第一行,不返回其他任何内容

  while($row = $results->fetch_array(MYSQLI_BOTH)) {    
  echo ....stuff that dont matter

  //Now I want some SQL results based on a result from ^^^ $row['ID']
  $result = $conn->query("SELECT tags.Tag FROM tags WHERE tags.results_ID =".$row['ID'] );
  $result_tag = $result->fetch_array(MYSQLI_NUM); 

  //I got the results. Now I want to compare them to another array '$explode' 
  //and echo out elements that are the same

    foreach($explode as $explodeValue){
      foreach($result_tag as $tag){
        if($tag == $explodeValue){
          echo $explodeValue;
        }
      }
    }

}//end of 1st while
改为

$result = $conn->query("SELECT * FROM tags WHERE results_ID =".$row['ID'] );

您想使用
fetch_all()
fetch\u array()
只返回一行(作为数组) 看

实际上,这就是最外层的while所做的,使用
fetch\u array()