Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum gibt meine vorbereitete PDO-Anweisung beim Abrufen von Daten in eine CSV-Datei doppelte Ergebnisse zurück?

Patricia Arquette
Freigeben: 2024-11-02 03:57:02
Original
477 Leute haben es durchsucht

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

PDO-vorbereitete Anweisung ruft doppelte Ergebnisse ab

Ein Benutzer ist auf ein Problem gestoßen, bei dem seine PDO-vorbereitete Anweisung bei der Ausgabe von Daten an einen doppelte Ergebnisse zurückgibt CSV-Datei. Der betreffende Code verwendet die Funktion $result_get_rows->fetch(), um die Zeilen aus der Datenbank abzurufen.

Die Fetch()-Methode verstehen

Der fetch( )-Methode eines PDOStatement-Objekts wird zum Abrufen von Zeilen aus einem Ergebnissatz verwendet. Standardmäßig werden Zeilen sowohl als indizierte Arrays (nach Spaltennummer) als auch als assoziative Arrays (nach Spaltennamen) zurückgegeben.

Problem lösen

Um die doppelten Ergebnisse zu korrigieren , wird empfohlen, mithilfe des fetch_style-Parameters der fetch()-Methode anzugeben, wie die Ergebniszeilen zurückgegeben werden sollen. Dieser Parameter akzeptiert eine der folgenden Konstanten:

  • PDO::FETCH_ASSOC: Gibt ein assoziatives Array zurück, das nach Spaltennamen indiziert ist.
  • PDO::FETCH_NUM: Gibt ein indiziertes Array zurück, das nach Spalte indiziert ist Nummer.
  • PDO::FETCH_BOTH (Standard): Gibt ein Array zurück, das sowohl durch den Spaltennamen als auch durch die Spaltennummer indiziert ist.

Geänderter Code

Durch die Verwendung von PDO::FETCH_ASSOC kann der Code wie folgt geändert werden:

<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

Diese Änderung stellt sicher, dass die Zeilen als assoziative Arrays zurückgegeben werden, wodurch die Duplizierung von Werten bei der Ausgabe in die CSV-Datei wirksam verhindert wird .

Das obige ist der detaillierte Inhalt vonWarum gibt meine vorbereitete PDO-Anweisung beim Abrufen von Daten in eine CSV-Datei doppelte Ergebnisse zurück?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!