Heim >Datenbank >MySQL-Tutorial >Warum gibt meine vorbereitete PDO-Anweisung fetch() doppelte Ergebnisse zurück?
PDO Prepared Statement fetch() gibt doppelte Ergebnisse zurück
Sie sind nicht der einzige Entwickler, der bei der Verwendung von PDO Prepared Statements auf unerwartete Ergebnisse gestoßen ist mit der Methode fetch(). Um dieses Problem zu beheben, müssen Sie verstehen, wie sich fetch() bei verschiedenen Abrufstilen verhält.
Standardmäßig gibt fetch() sowohl ein assoziatives Array (indiziert nach Spaltennamen) als auch ein numerisches Array (indiziert nach Spalte) zurück Nummer). In Ihrem Fall bedeutet dies, dass jede Spalte aus jeder Zeile in der Tabelle zweimal ausgegeben wird.
Um dies zu vermeiden, sollten Sie beim Aufruf von fetch() einen bestimmten Abrufstil angeben. Sie können dies tun, indem Sie eine der PDO::FETCH_*-Konstanten als zweites Argument an die fetch()-Methode übergeben.
Nur assoziatives Array:
<code class="php">while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) { // Your code here }</code>
Nur numerisches Array:
<code class="php">while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_NUM)) { // Your code here }</code>
Durch Angabe des Abrufstils können Sie steuern, wie die Daten von fetch() zurückgegeben werden, und unerwünschte Duplikate verhindern.
Das obige ist der detaillierte Inhalt vonWarum gibt meine vorbereitete PDO-Anweisung fetch() doppelte Ergebnisse zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!