2013-10-05 42 views
-1

你能幫我弄清楚爲什麼我的代碼檢索雙重數據?我已經把上WAMP一個DB與查詢DB到PHP到JSON

<?php 
$dbName = $_SERVER["DOCUMENT_ROOT"] . "//proba//database.accdb"; 
if (!file_exists($dbName)) { 
    die("Could not find database file." . $dbName); 
} 
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$dbName; Uid=; Pwd=;"); 

$sql = "SELECT * FROM Hotel"; 

$result = $db->query($sql); 
$row = $result->fetch(); 


echo json_encode($row); 

一切變得讀細PHP文件一起,但是我得到雙倍的數據,一個帶有索引0,1,2,3等與指數爲數據庫字段的名稱

{ "0" : "1", 
    "1" : "Hotel one", 
    "2" : "3 stars", 
    "3" : "5", 
    "ID" : "1", 
    "Category" : "3 stars", 
    "Object" : "Hotel one", 
    "Rating" : "5" 
} 
+1

就像這樣的大多數問題一樣,只要閱讀手冊也可以輕鬆解決。 – PeeHaa

+0

或者:像這麼多關於PHP的PHP問題,這個問題可以歸因於PHP的困境。 –

回答

0

fetch()方法返回一個包含關聯於他們的名字列數據,並且還關聯到它們的索引順序數組。

使用$result->fetch(PDO::FETCH_ASSOC)僅獲取帶有列名的數據,或者獲取帶有索引號的數據$result->fetch(PDO::FETCH_NUM)