2013-05-08 70 views
0

我已經使用PHP連接到我的MS SQL Server 2008 R2。一切正常,除了輸出顯示兩次。輸出顯示兩次

下面是用於建立連接的PHP代碼。任何幫助表示讚賞。

<?php 
$hostname = "localhost\FAIZ2"; 
$username = "sa"; 
$password = "11235813"; 
$database = "Test"; 
$connectioninfo = array("UID"=>$username,"PWD"=>$password,"Database"=>$database); 
$link = sqlsrv_connect($hostname,$connectioninfo) or die(print_r(sqlsrv_errors(), true)); 

$sql = "SELECT * FROM StudentData"; 
$result = sqlsrv_query($link,$sql) or die("Unable to select: ".sqlsrv_errors()); 
print "<table>\n"; 
while($row = sqlsrv_fetch_array($result)) { 
print "<tr>\n"; 
foreach($row as $field) { 
    print "<td>$field</td>\n"; 
} 
print "</tr>\n"; 
} 
print "</table>\n"; 
sqlsrv_close($link); 

?> 
+0

專門被打印兩次呢? – mroach 2013-05-09 00:27:56

+0

例如,如果我的數據庫中有三列,比如包含值{1,abc,def},值{2,ghi,jkl}和{3,mno,pqr}的id,FName,LName,則輸出爲像這樣=> [{「0」:1,「id」:1,「1」:「abc」,「Fname」:「abc」,「2」:「def」,「Lname」:「def」 },{ 「0」:2 「ID」:2 「1」: 「GHI」, 「FNAME」: 「GHI」, 「2」: 「JKL」, 「L-NAME」: 「JKL」},{」 0 「:3」,ID 「:3」,1 「:」 MNO」, 「FNAME」: 「MNO」, 「2」: 「PQR」, 「L-NAME」: 「PQR」},{ 「0」:3 ,「id」:3,「1」:「mno」,「Fname」:「mno」,「2」:「pqr」,「Lname」:「pqr」}] – user2337704 2013-05-09 11:15:13

回答

0

默認情況下,sqlsrv_fetch_array()返回包含數字鍵和命名的字段的鍵陣列。所以每個列值都返回兩次。所以,你最終會與像行...

[0] => 123 
['id'] => 123 
[1] => 'Bobby' 
['name'] => 'Bobby' 
[2] => '1994-03-03' 
['date_of_birth'] => '1994-03-03' 

SQLSRV_FETCH_ASSOCSQLSRV_FETCH_NUMERIC參數添加到sqlsrv_fetch_array像這樣:

$row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)

+0

Thanks!有效 :) – user2337704 2013-05-09 11:17:12