Skip to content

Commit d01e6c3

Browse files
authored
add field data type name
linked to this pull request #3287
1 parent 5ad2b6f commit d01e6c3

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

system/Database/MySQLi/Result.php

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,42 @@ public function getFieldNames(): array
8787
*/
8888
public function getFieldData(): array
8989
{
90+
static $data_types = [
91+
MYSQLI_TYPE_DECIMAL => 'decimal',
92+
MYSQLI_TYPE_NEWDECIMAL => 'newdecimal',
93+
MYSQLI_TYPE_FLOAT => 'float',
94+
MYSQLI_TYPE_DOUBLE => 'double',
95+
96+
MYSQLI_TYPE_BIT => 'bit',
97+
MYSQLI_TYPE_TINY => 'tiny',
98+
MYSQLI_TYPE_SHORT => 'short',
99+
MYSQLI_TYPE_LONG => 'long',
100+
MYSQLI_TYPE_LONGLONG => 'longlong',
101+
MYSQLI_TYPE_INT24 => 'int24',
102+
103+
MYSQLI_TYPE_YEAR => 'year',
104+
105+
MYSQLI_TYPE_TIMESTAMP => 'timestamp',
106+
MYSQLI_TYPE_DATE => 'date',
107+
MYSQLI_TYPE_TIME => 'time',
108+
MYSQLI_TYPE_DATETIME => 'datetime',
109+
MYSQLI_TYPE_NEWDATE => 'newdate',
110+
111+
MYSQLI_TYPE_INTERVAL => 'interval',
112+
MYSQLI_TYPE_SET => 'set',
113+
MYSQLI_TYPE_ENUM => 'enum',
114+
115+
MYSQLI_TYPE_VAR_STRING => 'var_string',
116+
MYSQLI_TYPE_STRING => 'string',
117+
MYSQLI_TYPE_CHAR => 'char',
118+
119+
MYSQLI_TYPE_GEOMETRY => 'geometry',
120+
MYSQLI_TYPE_TINY_BLOB => 'tiny_blob',
121+
MYSQLI_TYPE_MEDIUM_BLOB => 'medium_blob',
122+
MYSQLI_TYPE_LONG_BLOB => 'long_blob',
123+
MYSQLI_TYPE_BLOB => 'blob',
124+
];
125+
90126
$retVal = [];
91127
$fieldData = $this->resultID->fetch_fields();
92128

@@ -95,8 +131,10 @@ public function getFieldData(): array
95131
$retVal[$i] = new \stdClass();
96132
$retVal[$i]->name = $data->name;
97133
$retVal[$i]->type = $data->type;
134+
$retVal[$i]->type_name = isset($data_types[$data->type]) ? $data_types[$data->type] : null;
98135
$retVal[$i]->max_length = $data->max_length;
99136
$retVal[$i]->primary_key = (int) ($data->flags & 2);
137+
$retVal[$i]->length = $data->length;
100138
$retVal[$i]->default = $data->def;
101139
}
102140

0 commit comments

Comments
 (0)