首頁 >資料庫 >mysql教程 >將資料提取到 CSV 檔案時,為什麼我的 PDO 準備語句會傳回雙結果?

將資料提取到 CSV 檔案時,為什麼我的 PDO 準備語句會傳回雙結果?

Patricia Arquette
Patricia Arquette原創
2024-11-02 03:57:02549瀏覽

Why is my PDO prepared statement returning double results when fetching data into a CSV file?

PDO 準備語句取得雙重結果

使用者遇到了一個問題,即將資料輸出到CSV 檔案。相關程式碼利用 $result_get_rows->fetch() 函數從資料庫中檢索行。

了解 Fetch() 方法

The fetch( ) PDOStatement 物件的方法用於從結果集中擷取行。預設情況下,它以索引數組(按列號)和關聯數組(按列名稱)的形式傳回行。

解決問題

修正雙重結果,建議使用 fetch() 方法的 fetch_style 參數指定如何傳回結果行。此參數接受下列常數之一:

  • PDO::FETCH_ASSOC:傳回以列名稱索引的關聯陣列。
  • PDO::FETCH_NUM:傳回按列索引的索引陣列number。
  • PDO::FETCH_BOTH(預設):傳回以列名和列號索引的陣列。

修改程式碼

透過使用PDO::FETCH_ASSOC,可以將程式碼修改如下:

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

此修改將確保行程式碼修改如下:

此修改將確保行程式碼修改如下:此修改將確保行程式碼修改如下:此修改將確保行程式碼修改如下:此修改將確保行程式碼修改如下:此修改將確保行程式碼修改如下:此修改將可確保行程式碼修改如下以關聯數組的形式傳回,有效防止輸出到CSV檔案時值重複.

以上是將資料提取到 CSV 檔案時,為什麼我的 PDO 準備語句會傳回雙結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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