PMA\libraries\controllers\table\TableSearchController::_loadTableInfo PHP Метод

_loadTableInfo() приватный Метод

Gets all the columns of a table along with their types, collations and whether null or not.
private _loadTableInfo ( ) : void
Результат void
    private function _loadTableInfo()
    {
        // Gets the list and number of columns
        $columns = $this->dbi->getColumns($this->db, $this->table, null, true);
        // Get details about the geometry functions
        $geom_types = Util::getGISDatatypes();
        foreach ($columns as $row) {
            // set column name
            $this->_columnNames[] = $row['Field'];
            $type = $row['Type'];
            // check whether table contains geometric columns
            if (in_array($type, $geom_types)) {
                $this->_geomColumnFlag = true;
            }
            // reformat mysql query output
            if (strncasecmp($type, 'set', 3) == 0 || strncasecmp($type, 'enum', 4) == 0) {
                $type = str_replace(',', ', ', $type);
            } else {
                // strip the "BINARY" attribute, except if we find "BINARY(" because
                // this would be a BINARY or VARBINARY column type
                if (!preg_match('@BINARY[\\(]@i', $type)) {
                    $type = preg_replace('@BINARY@i', '', $type);
                }
                $type = preg_replace('@ZEROFILL@i', '', $type);
                $type = preg_replace('@UNSIGNED@i', '', $type);
                $type = mb_strtolower($type);
            }
            if (empty($type)) {
                $type = ' ';
            }
            $this->_columnTypes[] = $type;
            $this->_columnNullFlags[] = $row['Null'];
            $this->_columnCollations[] = !empty($row['Collation']) && $row['Collation'] != 'NULL' ? $row['Collation'] : '';
        }
        // end for
        // Retrieve foreign keys
        $this->_foreigners = PMA_getForeigners($this->db, $this->table);
    }