2017-09-18 33 views
0

我創建一個小型Web應用程序,我在兩個陣列中運行指標 - 一個通過使用simplexml_load_file檢索和查詢數據庫中生成的其他。我對後者有點問題 - 我需要創建一個可以通過索引來引用的關聯數組。爲此,我做了這樣的事情。FETCH_ASSOC錯誤的刪除了陣列

$stmt->execute(); 
$db = $stmt->fetchAll(PDO::FETCH_ASSOC); 

因此,陣列應該是這樣的:

Array (
['element'] => value, 
) 

它看起來像這樣:

Array (
[0] => Array (
['element'] => value, 
) 
) 

我發現的唯一的事情是,在查詢的記錄被創建,以便

Array (
[0] => Array (
['element'] => value, 
[0] => value 
) 
) 

我的小號解決方案刪除第一個數組內的索引,在本例中它將刪除行[0] => value,儘管主索引將保留。我怎樣才能改變這個結果產生一個完整的聯想關聯數組?我提到我想要顯示查詢中的所有記錄,但是同樣的fetch()可行,儘管它顯示查詢中的一條記錄(最後一條)。

回答

1

嘗試改變

$db = $stmt->fetchAll(PDO::FETCH_ASSOC); 

$db = $stmt->fetch(PDO::FETCH_ASSOC); 

PDOStatement::fetch - 用於讀取結果的下一行,

雖然PDOStatement::fetchAll - 返回包含所有的數組結果集行

+0

fetch()方法從數據庫返回只有一個記錄 - 我需要的所有記錄 – sauero

+0

@sauero:提供例如2-3行? – C2486

0

的0表示行之一。如果你要處理只有一排使用當前功能的陣列上,這將給你預期的結果