首頁  >  文章  >  資料庫  >  PDO 的 fetchAll 方法如何根據從資料庫檢索的鍵值對建立關聯數組?

PDO 的 fetchAll 方法如何根據從資料庫檢索的鍵值對建立關聯數組?

Linda Hamilton
Linda Hamilton原創
2024-11-24 04:47:17850瀏覽

How can PDO's `fetchAll` method create an associative array from key-value pairs retrieved from a database?

PDO FetchAll:將鍵值分組為關聯數組

問題:

檢索鍵值對時從資料庫對時從資料庫中,我們如何取得一個關聯數組,其中的值按鍵分組PDO 的fetchAll 方法?

例如,給定查詢:

SELECT `key`, `value` FROM `settings`;

我們想要創建一個如下數組:

array('first_name' => 'Tom', 'last_name' => 'Jefferson')

答案:

PDO提供了一個簡單高效的解決方案this:

$q = $db->query("SELECT `key`, `value` FROM `settings`;");
$r = $q->fetchAll(PDO::FETCH_KEY_PAIR);

此方法:

  • 執行查詢並將所有行檢索到 $q PDOStatement 物件中。
  • 使用 PDO 呼叫 fetchAll(): :FETCH_KEY_PAIR 依第一列(鍵)將結果分組,並將第二列(值)指派為對應的value。
  • 將關聯數組儲存在 $r 變數中。

此方法針對此特定用例進行了最佳化,因為它使用單一查詢檢索資料並直接將其儲存到所需的關聯數組格式。

對於在 Windows 7 x64 上運行的 PostgreSQL 9.1 和 PHP 5.3.8,此解決方案已經驗證可以有效運作。

以上是PDO 的 fetchAll 方法如何根據從資料庫檢索的鍵值對建立關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn