(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)
PDOStatement::getColumnMeta — Liefert die Metadaten zu einer Spalte einer Ergebnismenge
Ruft die Metadaten für eine Spalte (beginnend bei 0) einer Ergebnismenge als assoziatives Array ab.
Da PDOStatement::getColumnMeta() optional ist, kann es sein, dass manche Treiber es nicht implementieren. Allerdings wird diese Funktion von allen im Handbuch dokumentierten PDO-Treibern implementiert.
columnDie Spalte der Ergebnismenge (beginnend bei 0)
Gibt ein assoziatives Array mit den folgenden Werten zurück, die die Metadaten für eine einzelne Spalte darstellen:
| Name | Wert |
|---|---|
native_type |
Der PHP-eigene Typ, der zur Darstellung des Spaltenwerts verwendet wird |
driver:decl_type |
Der SQL-Typ, der verwendet wird, um den Spaltenwert in der Datenbank darzustellen. Wenn die Spalte in der Ergebnismenge das Ergebnis einer Funktion ist, wird dieser Wert nicht von PDOStatement::getColumnMeta() zurückgegeben. |
flags |
Alle für diese Spalte gesetzten Flags |
name |
Der Name der Spalte, wie er von der Datenbank zurückgegeben wird |
table |
Der Name der Tabelle der Spalte, wie er von der Datenbank zurückgegeben wird |
len |
Die Breite der Spalte. Für andere Typen als Gleitkommazahlen
normalerweise -1.
|
precision |
Die numerische Genauigkeit der Spalte. Für andere Typen als
Gleitkommazahlen normalerweise 0.
|
pdo_type |
Der Typ der Spalte, wie er durch die
PDO::PARAM_*-Konstanten
dargestellt wird
|
Gibt false zurück, wenn die angeforderte Spalte in der Ergebnismenge
nicht vorhanden ist, oder wenn es keine Ergebnismenge gibt.
Beispiel #1 Abrufen der Metadaten einer Spalte
Das folgende Beispiel zeigt das Ergebnis des Abrufs von Metadaten für eine einzelne Spalte, die von der Funktion COUNT des PDO_SQLITE-Treibers erzeugt wurde.
<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(6) {
["native_type"]=>
string(7) "integer"
["flags"]=>
array(0) {
}
["name"]=>
string(8) "COUNT(*)"
["len"]=>
int(-1)
["precision"]=>
int(0)
["pdo_type"]=>
int(2)
}