準備語句取得雙重結果時的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中文網其他相關文章!