我正在使用
$row = mysqli_fetch_row(mysqli_query($conx, "SHOW CREATE TABLE $table"));
在循环中获取我的架构数据,这很好。 我还需要将列名放在一个数组中。 有没有办法从$ row数组中提取它们? 或者我是否需要运行单独的SHOW COLUMNS才能做到这一点?
答案 0 :(得分:1)
为什么不使用information_schema
?
"SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = '$table'"
答案 1 :(得分:1)
如果您获取的create table结果如下所示:
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 _-] *`”的正则表达式,除第一个匹配外,它们将是列名。