Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum dupliziert mein PDO Prepared Statement Fetch() die Ergebnisse?

Barbara Streisand
Freigeben: 2024-11-01 20:47:30
Original
355 Leute haben es durchsucht

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

PDO Prepared Statement Fetch() dupliziert Ergebnisse

Problem

Ein PHP-Skript, das PDO Prepared Statements und fetch() verwendet gibt doppelte Daten in eine CSV-Datei aus. Jede Zeile aus der Datenbank wird zweimal wiedergegeben, was zu doppelten Spaltenwerten führt.

Analyse

Zuvor funktionierte die Abfrage wie erwartet, wenn PDO nicht verwendet wurde. Daher kann das Problem in der Verwendung von fetch() liegen.

Lösung

Durch Angabe des gewünschten Datenabrufmodus beim Aufruf von fetch() kann das Problem mit doppelten Ergebnissen gelöst werden. Es gibt zwei Optionen:

  • PDO::FETCH_ASSOC: Gibt ein durch die Spaltennamen indiziertes Array zurück.
  • PDO::FETCH_NUM: Gibt ein durch die Spaltennummern indiziertes Array zurück.

Um dies zu implementieren, ändern Sie den Code wie folgt:

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

Das obige ist der detaillierte Inhalt vonWarum dupliziert mein PDO Prepared Statement Fetch() die Ergebnisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage