PDOStatement::getColumnMeta – Gibt die Metadaten einer Spalte im Ergebnissatz zurück (PHP 5 >= 5.1.0, PECL pdo >= 0.2.0)
Array PDOStatement::getColumnMeta ( int $column )
Rufen Sie Metadaten für eine mit 0 beginnende indizierte Spalte im Ergebnissatz als assoziatives Array ab.
Hinweis: Diese Funktion ist experimentell. Das Erscheinungsbild dieser Funktion, einschließlich ihres Namens und der zugehörigen Dokumentation, kann in zukünftigen PHP-Versionen ohne Vorankündigung geändert werden. Die Nutzung dieser Funktion erfolgt auf eigene Gefahr.
Hinweis: Nicht alle PDO-Treiber unterstützen PDOStatement::getColumnMeta().
Spalte im Spaltenergebnissatz , deren Index mit 0 beginnt.
Gibt ein assoziatives Array zurück, das die folgenden Werte enthält, die Metadaten für eine einzelne Spalte darstellen:
Name | Wert |
---|---|
native_type | Nativer PHP-Typ zur Darstellung von Spaltenwerten. |
Treiber:decl_type | Der SQL-Typ, der zur Darstellung von Spaltenwerten in der Datenbank verwendet wird. Wenn eine Spalte in der Ergebnismenge das Ergebnis einer Funktion ist, kann der Wert nicht von PDOStatement::getColumnMeta() zurückgegeben werden. |
Flaggen | Alle für diese Spalte festgelegten Flags. |
Name | Von der Datenbank zurückgegebene Spaltennamen. |
Tisch | Der Tabellenname dieser Spalte, der über die Datenbank zurückgegeben wird |
len | Die Länge der Spalte. Normalerweise -1, außer bei Gleitkomma-Dezimalzahlen |
Präzision | Die numerische Genauigkeit dieser Spalte. Normalerweise 0, außer bei Gleitkomma-Dezimalzahlen. |
pdo_type | Spaltentyp, dargestellt durch PDO::PARAM_*- Konstanten. |
Das folgende Beispiel zeigt die Ergebnisse des Abrufens von Metadaten für eine einzelne Spalte mithilfe einer Funktion (COUNT) in einem PDO_SQLITE.
<?php$select = $DB->query('SELECT COUNT(*) FROM Fruit');$meta = $select->getColumnMeta(0);var_dump($meta);?>
Die obige Beispielausgabe:
array(6) { ["native_type"]=> string(7) "integer" ["flags"]=> array(0) { } ["name"]=> string(8) "COUNT(*)" [ "len"]=> int(-1) ["precision"]=> int(0) ["pdo_type"]=> int(2)}