2014-07-25 5 views
0
while($tab = $sMssql->fetchAssoc("SELECT * FROM [Tab]")){ 

echo "<pre>"; 
var_dump($tab); 
echo "</pre>"; 

} 

이 코드는 첫 번째 행을 반복해서 반복하여 반환합니다 ... 그러나 모든 행이 들어있는 배열을 원합니다. Sql_Srv는 첫 번째 행만 반환합니다.

fetchAssoc 코드

:에서

public function fetchAssoc($mQuery) { 
    return sqlsrv_fetch_array(sqlsrv_query($this->mSqlConnection, $mQuery), SQLSRV_FETCH_ASSOC); 
} 
+0

모든 다른 ** RTFM ** [sqlsrv_fetch_array] (http://uk3.php.net/manual/en/function.sqlsrv-fetch-array.php)에 실패하면 해당 매뉴얼 페이지의 첫 번째 문장은 sqlsrv_fetch_array라고합니다 - ** ** 배열로 << ** 행 – RiggsFolly

답변

0

기능 fetchAssoc(), sqlsrv_fetch_array()는 한 번만 호출됩니다. 이것을 루프 내에서 호출하여 모든 레코드를 반복합니다.

코드에서 쿼리 실행을위한 while 루프가 잘못되었습니다. While 루프를 반복하고 fetchAssoc() 내부에 루프를 넣으십시오.

좋아 :

$mQuery= $sMssql->fetchAssoc("SELECT * FROM [Tab]"); 
$result = sqlsrv_query($this->mSqlConnection, $mQuery); 

while($tab = sqlsrv_fetch_array($result , SQLSRV_FETCH_ASSOC)){ 

    echo "<pre>"; 
    var_dump($tab); 
    echo "</pre>"; 

} 
+0

질문에 답변 해 주셔서 감사합니다 ....하지만 같은 결과를 얻었습니다 ... 그냥 백만 번만 첫 번째 항목 –

+0

고마워요 ... 지금은 해결했습니다 :) –

관련 문제