PDO – Doppelte Datensätze nach einer Abfrage

PDO FETCH_ASSOC, FETCH_NUM und FETCH_BOTH verstehen.

Falls ihr PDO zu Datenbank-abfragen in php nutzt, kann es dazu kommen, dass ihr doppelte Datensätze zurückgeliefert bekommt. Das hat mit der FETCH Option zu tun, mit welcher ihr die Datenbank-abfrage geliefert bekommen möchtet.

Es gibt folgende Fetch Optionen:

  • FETCH_ASSOC
    Liefert ein assoziatives Array zurück
  • FETCH_NUM
    Liefert ein numerisches Array zurück
  • FETCH_BOTH
    Liefert sowohl ein assoziatives als auch ein nummerisches Array zurück.

In der Praxis sehen die Funktionen wie folgt aus:

$result_get_rows->fetch(PDO::FETCH_ASSOC)
$result_get_rows->fetch(PDO::FETCH_NUM)
$result_get_rows->fetch(PDO::FETCH_BOTH)

In der Grundfunktion wird die Abfrage automatisch mit PDO::FETCH_BOTH geliefert. Das bedeutet, dass sowohl ein numerisches als auch ein assoziatives Array zurück gegeben wird.

Falls ihr nur ein Ergebnis haben möchtet, müsst ihr zur fetch-Funktion auch noch die gewünschte Art mitgeben. Z.B. PDO::FETCH_ASSOC Nachdem ihr das gemacht habt, wird nur noch eine Art von Array zurück gegeben.

Themen

Bugfixing Datenbanken Learning MySQL php Programmieren Technik

Beitrag teilen

WhatsAppen

Folgen Sie uns