首頁 > 資料庫 > mysql教程 > 為什麼使用 PDO 準備好的語句獲取時會得到雙重結果?

為什麼使用 PDO 準備好的語句獲取時會得到雙重結果?

Patricia Arquette
發布: 2024-11-02 17:49:28
原創
448 人瀏覽過

Why am I Getting Double Results When Fetching with PDO Prepared Statements?

準備語句取得雙重結果時的PDO 問題

使用腳本將資料匯出到CSV 檔案時,您可能會遇到以下問題:正在顯示資料的多個副本,而不是所需的單行。在使用 PDO 準備好的語句時,這個問題變得很明顯,很難理解為什麼會發生這種情況。

要解決此問題,為傳回結果指定所需的格式至關重要。預設情況下,PDO 使用 FETCH_BOTH 模式,該模式傳回一個包含列名和 0 索引列號的陣列。在您的情況下,您只想檢索一個按列名稱索引的關聯數組。

要修正這種情況,只需透過指定所需的獲取模式來修改您的程式碼:

while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC))
{
  $csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n";
}
登入後複製

或者,如果您更喜歡數字索引數組,則可以使用PDO ::FETCH_NUM 代替。

您選擇的選項將決定傳回結果的格式,確保您收到所需結構的資料您的 CSV 匯出。

以上是為什麼使用 PDO 準備好的語句獲取時會得到雙重結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板