getTableMetaData DBAPI
- Разработчикам
- DBAPI
- getTableMetaData
Поддержать: USDT TRC20: TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh
2161
getTableMetaData DBAPI
array getTableMetaData($table)
$table - название таблицы
Эта функция возвращает многомерный массив с подробной информацией о структуре заданной таблицы MySQL.
Массив имеет вид TableField => Array( Info => Value ), где
- TableField - название колонки,
- Info - одно из 6 информационных параметров,
- Value - значение конкретного параметра.
Информационные параметры:
Field - название поля таблицы
Type - тип поля и размер (например int(5), varchar(40) или text)
Null - может содержать значение NULL
Key - содержит ключ для значения типа "UNI" (UNIQUE) или "PRI" (PRIMARY)
Default - значение по умолчанию
Extra - дополнительная информация, такая как использование auto_increment
Пример
$table = 'my_table';
$data = $modx->db->getTableMetaData( $table );
$output = '';
// Цикл по всем колонкам
foreach( $data as $field => $arr ) {
// Название колонки
$output .= '' . $field . '
';
// Цикл по всем информационным параметрам
foreach( $arr as $info => $value )
$output .= $info . ': ' . $value . '
'; // Вывод значения
}
}
return $output;
Источник Функции
Файл: manager/includes/extenders/dbapi.mysql.class.inc.php
Строка: 365
function getTableMetaData($table) {
$metadata = false;
if (!empty ($table)) {
$sql = "SHOW FIELDS FROM $table";
if ($ds = $this->query($sql)) {
while ($row = $this->getRow($ds)) {
$fieldName = $row['Field'];
$metadata[$fieldName] = $row;
}
}
}
return $metadata;
}