Php mysqli fetch_array()仅将检索到的第一行数据转换为数组
似乎发生的事情是,$result\u标记只保存检索到的sql数据的第一行 在中对SQl运行结果查询时,返回一个包含多行的表。 但是,当Ivar_dump()it时,它只返回第一行,不返回其他任何内容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
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()