关于mysqli_fetch_row一次只能返回一行数组

WBOY
풀어 주다: 2016-06-06 20:36:35
원래의
934명이 탐색했습니다.

<code>$qst_id = $_GET['str'];
if ($qst_id) {
    $qst_sql = "SELECT * FROM exam_qst WHERE qst_id='$qst_id'";
    $query = $conn -> query($qst_sql);
    $row = $query -> fetch_array();
    $length = sizeof($row)/5;
    $a = 0;
    while ($a ";
        while ( $i$row[$j]";
        }
        echo "";
        $a++;
    }
    $query -> close();  
} 
$conn -> close();
</code>
로그인 후 복사
로그인 후 복사

如代码,每次查询数据库应该取出多行数据,但是mysqli_fetch_array跟mysqli_fetch_row似乎都只能返回一行数据。请问如何能将查询到的所有数据全部装到一个数组里。

回复内容:

<code>$qst_id = $_GET['str'];
if ($qst_id) {
    $qst_sql = "SELECT * FROM exam_qst WHERE qst_id='$qst_id'";
    $query = $conn -> query($qst_sql);
    $row = $query -> fetch_array();
    $length = sizeof($row)/5;
    $a = 0;
    while ($a ";
        while ( $i$row[$j]";
        }
        echo "";
        $a++;
    }
    $query -> close();  
} 
$conn -> close();
</code>
로그인 후 복사
로그인 후 복사

如代码,每次查询数据库应该取出多行数据,但是mysqli_fetch_array跟mysqli_fetch_row似乎都只能返回一行数据。请问如何能将查询到的所有数据全部装到一个数组里。

<code>$qst_id = $_GET['str'];
if ($qst_id) {
    $qst_sql = "SELECT * FROM exam_qst WHERE qst_id='$qst_id'";
    $query = $conn -> query($qst_sql);
    $row = $query ->fetch_all();
    foreach ($row as $vl){
        echo "<tr>
<td>".$vl[1]."</td>
<td><a onclick="show_more(this)">".$vl[2]."</a></td>
<td>".$vl[5]."</td>
<td>".$vl[4]."</td>
<td>".$vl[6]."</td>
</tr>";
    }
    $query -> close();  
}
</code>
로그인 후 복사

确实是需要遍历所有的结果集,自己用foreach来执行并成功返回了。还是谢谢 @捞鱼的转阿转

话说是mysql__fetch_array和mysql_fetch_row吧。他俩功能差不多,都是已数组的形式返回一行数据。
所以返回一行是没错的。你需要的是遍历所有的结果集,需要通过循环的帮助。

下面的给你参考

<code>php</code><code>    /**
     * 获取执行SQL所有数据
     * @param  [type] $sql 待执行
     * @return [type]      执行返回结果
     */
    public function fetchAll($sql){
        if ($result = $this->query($sql)) {
            $rows = array();
            while ($row = mysql_fetch_row($result)) {
                $rows[ ] = $row;
            }
            mysql_free_result($result);
            return $rows;
        }else{
            return false;
        }
    }
</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿