Signatur
Beschreibung
cubrid_column_types() liest die Datentypen aller Spalten aus einem CUBRID-Abfrageergebnis aus und gibt sie als numerisch indiziertes Array zurück. Jedes Element entspricht dabei dem Datentyp der zugehörigen Spalte in der Reihenfolge, in der sie in der SQL-Abfrage ausgewählt wurden.
Die Funktion ist besonders nützlich, wenn zur Laufzeit nicht bekannt ist, welche Spaltentypen ein Ergebnis enthält — etwa beim dynamischen Erstellen von Formularen, beim Export von Daten oder beim Validieren von Abfrageergebnissen. Sie ergänzt cubrid_column_names(), die die Spaltennamen zurückgibt.
Die zurückgegebenen Typnamen entsprechen den CUBRID-internen Typbezeichnungen (z. B. integer, varchar, char, float, date usw.).
Die Funktion kann nur auf ein aktives Anfrage-Handle angewendet werden, das von cubrid_execute() oder cubrid_prepare() erzeugt wurde.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $req_identifier Pflicht | resource | Das Anfrage-Handle, das von cubrid_prepare() oder cubrid_execute() zurückgegeben wurde und eine gültige, ausgeführte Abfrage repräsentiert. |
Rückgabewert
false zurückgegeben.Beispiele
Spaltentypen einer einfachen SELECT-Abfrage ausgeben
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($conn, "SELECT id, name, birthdate, salary FROM employees");
if ($req) {
$types = cubrid_column_types($req);
$names = cubrid_column_names($req);
foreach ($names as $index => $columnName) {
echo $columnName . ': ' . $types[$index] . PHP_EOL;
}
cubrid_close_request($req);
}
cubrid_disconnect($conn);
?>
Spaltentypen zur dynamischen Datenvalidierung nutzen
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($conn, "SELECT * FROM products");
if ($req) {
$types = cubrid_column_types($req);
$names = cubrid_column_names($req);
$numericTypes = ['integer', 'short', 'bigint', 'float', 'double', 'numeric', 'monetary'];
echo "Numerische Spalten:" . PHP_EOL;
foreach ($types as $index => $type) {
if (in_array($type, $numericTypes)) {
echo ' ' . $names[$index] . ' (' . $type . ')' . PHP_EOL;
}
}
cubrid_close_request($req);
}
cubrid_disconnect($conn);
?>
// Wichtig · Fallstricke
Hinweis zur Erweiterung: Die CUBRID-PHP-Erweiterung muss installiert und aktiviert sein (extension=cubrid in der php.ini). Sie ist nicht in der PHP-Standardinstallation enthalten.
Die Funktion gibt false zurück, wenn das übergebene Handle ungültig ist oder noch keine Abfrage ausgeführt wurde. Es empfiehlt sich daher, den Rückgabewert von cubrid_execute() vor dem Aufruf auf Gültigkeit zu prüfen.
Die Typbezeichnungen sind CUBRID-spezifisch und können sich von SQL-Standardtypen oder MySQL-Typnamen unterscheiden.