Open
Description
Feature Request
Q | A |
---|---|
New Feature | yes |
RFC | no |
Summary
Easy things to implement:
Result::getColumnCount(): int
Result::getColumnName(int $index): string
Trickier to abstract: Result::getColumnType(int $index)
as we would have to define an abstraction for the column type. So not sure this should be part of this API for now.
Looking quickly, here is what I found for the drivers we have in core
- ext-sqlite3 has
SQLite3Result::numColumns
,SQLite3Result::columnName
andSQLite3Result::columnType
(returning an integer corresponding to some constants) - PDO has
PDOStatement::columnCount
andPDOStatement::getColumnMeta
(returning a shape with many keys and potentially not implemented by custom PDO drivers, but implemented by all core PDO drivers) - ext-pgsql has
pg_num_fields
,pg_field_name
andpg_field_type
- ext-mysqli has
mysqli_result::$field_count
to the field count andmysqli_result::fetch_field_direct
to get info about the field - ext-ibm-db2 has
db2_num_fields
,db2_field_name
anddb2_field_type
(and a few otherdb2_field_*
functions) - ext-oci8 has
oci_num_fields
,oci_field_name
andoci_field_type
- ext-sqlsrv has
sqlsrv_num_fields
andsqlsrv_field_metadata
(which gives the metadata for all fields as a list instead of taking an index as argument like for other extensions)