getPDO(); $columnQuery = $pdo->prepare('show fields from '.$table); $columnQuery->execute(); $columns = $columnQuery->fetchAll(PDO::FETCH_ASSOC); foreach ($columns as $column) { $name = $column['Field']; $this->columns[$name] = new MysqlColumnReflection($db, $column); } /* SELECT table_schema, table_name, column_name, ordinal_position, data_type, numeric_precision, column_type, column_default, is_nullable, column_comment FROM information_schema.columns WHERE (table_schema='schema_name' and table_name = 'table_name') order by ordinal_position; OR show fields from 'table_name' */ } public function getAllColumns(): array { return $this->columns; } public function getColumn(string $name): ?ColumnReflectionInterface { return $this->columns[$name] ?? null; } }