2014-11-10 2 views
0

Я используюимена столбцов Извлечение из SHOW CREATE TABLE

$row = mysqli_fetch_row(mysqli_query($conx, "SHOW CREATE TABLE $table")); 

в цикле, чтобы захватить мои данные схемы, которая работает отлично. Мне также нужно поместить имена столбцов в массив. Есть ли способ вытащить их из этого массива строк $? Или мне нужно запустить отдельный SHOW COLUMNS, чтобы сделать это?

ответ

1

Если брать результат создания таблицы whic будет выглядеть следующим образом:

CREATE TABLE `TableName` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(50) NOT NULL, 
    `message` varchar(250) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 

Вы можете создать регулярное выражение, которое ищет "` [A-Za-Z0-9 _-] * `" и, кроме первого совпадения, они будут именами столбцов.

+0

Спасибо, это отличная идея –

1

Почему бы не использовать information_schema?

"SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = '$table'" 
Смежные вопросы