首頁  >  文章  >  資料庫  >  為什麼我的 PDO 準備語句 Fetch() 重複結果?

為什麼我的 PDO 準備語句 Fetch() 重複結果?

Barbara Streisand
Barbara Streisand原創
2024-11-01 20:47:30281瀏覽

Why is my PDO Prepared Statement Fetch() Duplicating Results?

PDO 準備語句Fetch() 複製結果

問題

使用PDO 準備語句和PHfetch() 的PHfetch()正在將重複資料輸出到CSV 檔案。資料庫中的每一行都會回顯兩次,導致列值加倍。

分析

以前,當不使用 PDO 時,查詢會如預期般運作。因此,問題可能出在 fetch() 的使用上。

解決方法

透過在呼叫 fetch() 時指定所需的資料檢索模式,可以解決結果重複的問題。有兩個選項:

  • PDO::FETCH_ASSOC: 傳回以列名稱索引的陣列。
  • PDO::FETCH_NUM: 傳回以列號索引的陣列。

要達到此目的,請修改程式碼如下:

<code class="php">while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) {
  $csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n";
}</code>

以上是為什麼我的 PDO 準備語句 Fetch() 重複結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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