OpenXE/classes/Components/Database/docs/fetch_results.md
2021-05-21 08:49:41 +02:00

3.1 KiB

Datensätze abrufen

fetchAll()

$data = $db->fetchAll('SELECT a.id, a.typ, a.name_de FROM artikel AS a WHERE a.id > 5');
array (
  0 => 
  array (
    'id' => 6,
    'typ' => 'produkt',
    'name_de' => 'LED Anzeige RLED 24-8',
  ),
  1 => 
  array (
    'id' => 7,
    'typ' => 'produkt',
    'name_de' => 'Schalter S3 24V 5A',
  ),
  ...
)

fetchAssoc()

Wie fetchAll() allerdings wird das Ergebnis der ersten Spalte als Index verwendet.

$data = $db->fetchAssoc('SELECT a.id, a.typ, a.name_de FROM artikel AS a WHERE a.id > 5');
array (
  6 => 
  array (
    'id' => 6,
    'typ' => 'produkt',
    'name_de' => 'LED Anzeige RLED 24-8',
  ),
  7 => 
  array (
    'id' => 7,
    'typ' => 'produkt',
    'name_de' => 'Schalter S3 24V 5A',
  ),
  ...
)

fetchRow()

Liefert die Ergebnisse der ersten Zeile als assoziatives Array. Die Spaltennamen werden als Index verwendet.

$data = $db->fetchRow('SELECT a.id, a.name_de, a.name_en, a.logdatei FROM artikel AS a WHERE a.id > 5');
array (
  'id' => 6,
  'name_de' => 'LED Anzeige RLED 24-8',
  'name_en' => '',
  'logdatei' => '2015-10-26 17:26:27',
)

fetchValue()

Liefert nur das Ergebnis der ersten Zeile und Spalte zurück.

$data = $db->fetchValue('SELECT a.name_de, name_en, a.logdatei FROM artikel AS a WHERE a.id > 5');
'LED Anzeige RLED 24-8'

fetchCol()

Liefert nur die Ergebnisse der ersten Spalte zurück.

$data = $db->fetchCol('SELECT a.name_de, a.name_en, a.logdatei FROM artikel AS a WHERE a.id > 5');
array (
  0 => 'LED Anzeige RLED 24-8',
  1 => 'Schalter S3 24V 5A',
  2 => 'Gehäuse GHK5 20x30x10',
  ...
)

fetchPairs()

Gibt ein (eindimentionales) assoziatives Array zurück. Der Wert der ersten Spalte wird als Index verwendet und die zweite Spalte als Wert. Erwartet werden genau zwei Spalten, andernfalls wird eine Exception geworfen.

$data = $db->fetchPairs('SELECT a.nummer, a.name_de FROM artikel AS a WHERE a.id > 5');
array (
  700006 => 'LED Anzeige RLED 24-8',
  700007 => 'Schalter S3 24V 5A',
  700008 => 'Gehäuse GHK5 20x30x10',
  ...
)

fetchGroup()

Verhält sich wie fetchAssoc(); mit der Ausnahme dass die Werte der ersten Spalte gruppiert werden.

$data = $db->fetchGroup(
    'SELECT a.typ, a.nummer, a.name_de, a.logdatei FROM artikel AS a WHERE a.id > 5'
);
array (
  'produkt' => 
  array (
    0 => 
    array (
      'typ' => 'produkt',
      'nummer' => '700006',
      'name_de' => 'LED Anzeige RLED 24-8',
      'logdatei' => '2015-10-26 17:26:27',
    ),
    1 => 
    array (
      'typ' => 'produkt',
      'nummer' => '700007',
      'name_de' => 'Schalter S3 24V 5A',
      'logdatei' => '2015-10-26 17:26:59',
    ),
    2 => 
    array (
      'typ' => 'produkt',
      'nummer' => '700008',
      'name_de' => 'Gehäuse GHK5 20x30x10',
      'logdatei' => '2018-05-23 05:18:52',
    ),
  ),
  'gebuehr' => 
  array (
    0 => 
    array (
      'typ' => 'gebuehr',
      'nummer' => '100001',
      'name_de' => 'Versandkosten',
      'logdatei' => '2018-06-17 10:09:36',
    ),
  ),
)