PDO-Probleme mit vorbereiteten Anweisungen, die doppelte Ergebnisse abrufen
Bei der Verwendung eines Skripts zum Exportieren von Daten in eine CSV-Datei kann ein Problem auftreten, bei dem Anstelle der gewünschten einzelnen Zeile werden mehrere Kopien der Daten angezeigt. Dieses Problem wird deutlich, wenn mit PDO-vorbereiteten Anweisungen gearbeitet wird, und es kann verwirrend sein, zu verstehen, warum es auftritt.
Um dieses Problem zu beheben, ist es wichtig, das gewünschte Format für das zurückgegebene Ergebnis anzugeben. Standardmäßig verwendet PDO den FETCH_BOTH-Modus, der ein Array mit Spaltennamen und 0-indizierten Spaltennummern zurückgibt. In Ihrem Fall möchten Sie nur ein assoziatives Array abrufen, das nach Spaltennamen indiziert ist.
Um diese Situation zu beheben, ändern Sie einfach Ihren Code, indem Sie den gewünschten Abrufmodus angeben:
while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) { $csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n"; }
Wenn Sie alternativ ein numerisch indiziertes Array bevorzugen, können Sie stattdessen PDO::FETCH_NUM verwenden.
Die von Ihnen gewählte Option bestimmt das Format des zurückgegebenen Ergebnisses und stellt sicher, dass Sie die Daten in der gewünschten Struktur erhalten Ihr CSV-Export.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Abrufen mit vorbereiteten PDO-Anweisungen doppelte Ergebnisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!