2014-07-25 199 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循環並將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

非常感謝你......現在我已經解決了它:) –