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:
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>
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!