MySQL 显示列意外行为
MySQL SHOW COLUMNS unexpected behavior
我有以下 PHP 代码:
$res = mysqli_query($this->get_connection(),"SHOW COLUMNS FROM " . $this->get_table());
$mat = mysqli_fetch_assoc($res);
var_dump($mat);
连接正常,正在return发送数据,所以我们可以跳过这部分。
问题是,据我了解,SHOW COLUMNS 应该 return 在我的 table 中每一列一行。但是当我运行这段代码针对tb_categoria时,其描述是:
CREATE TABLE IF NOT EXISTS `tb_categoria` (
`id_categoria` int(11) NOT NULL AUTO_INCREMENT COMMENT 'CHAVE DA TABELA',
`descricao_categoria` varchar(100) NOT NULL COMMENT 'NOME DA CATEGORIA (PRODUTO)',
`situacao_categoria` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'SITUACAO DA CATEGORIA ( 0 INATIVO - 1 ATIVO)',
`imagem_categoria` varchar(100) NOT NULL DEFAULT '' COMMENT 'IMAGEM PRINCIPAL DA CATEGORIA (PRODUTO)',
`legenda_categoria` varchar(500) DEFAULT NULL COMMENT 'LEGENDA DA CATEGORIA (HOME)',
`resumo_categoria` text COMMENT 'RESUMO DA CATEGORIA (DETALHE)',
`ordenacao_categoria` int(3) DEFAULT NULL COMMENT 'ORDEM DA CATEGORIA',
`description_categoria` varchar(255) DEFAULT NULL,
`keywords_categoria` varchar(255) DEFAULT NULL,
`title_categoria` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id_categoria`),
KEY `situacao_categoria` (`situacao_categoria`) USING BTREE,
KEY `descricao_categoria` (`descricao_categoria`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=193 ;
它是关于 'id_categoria' 第一列的 return 信息。
有没有人遇到过这个问题?有什么建议吗?
使用while循环遍历所有列。
$res = mysqli_query($this->get_connection(),"SHOW COLUMNS FROM " . $this->get_table());
while($mat = mysqli_fetch_assoc($res)){
var_dump($mat);
}
我有以下 PHP 代码:
$res = mysqli_query($this->get_connection(),"SHOW COLUMNS FROM " . $this->get_table());
$mat = mysqli_fetch_assoc($res);
var_dump($mat);
连接正常,正在return发送数据,所以我们可以跳过这部分。
问题是,据我了解,SHOW COLUMNS 应该 return 在我的 table 中每一列一行。但是当我运行这段代码针对tb_categoria时,其描述是:
CREATE TABLE IF NOT EXISTS `tb_categoria` (
`id_categoria` int(11) NOT NULL AUTO_INCREMENT COMMENT 'CHAVE DA TABELA',
`descricao_categoria` varchar(100) NOT NULL COMMENT 'NOME DA CATEGORIA (PRODUTO)',
`situacao_categoria` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'SITUACAO DA CATEGORIA ( 0 INATIVO - 1 ATIVO)',
`imagem_categoria` varchar(100) NOT NULL DEFAULT '' COMMENT 'IMAGEM PRINCIPAL DA CATEGORIA (PRODUTO)',
`legenda_categoria` varchar(500) DEFAULT NULL COMMENT 'LEGENDA DA CATEGORIA (HOME)',
`resumo_categoria` text COMMENT 'RESUMO DA CATEGORIA (DETALHE)',
`ordenacao_categoria` int(3) DEFAULT NULL COMMENT 'ORDEM DA CATEGORIA',
`description_categoria` varchar(255) DEFAULT NULL,
`keywords_categoria` varchar(255) DEFAULT NULL,
`title_categoria` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id_categoria`),
KEY `situacao_categoria` (`situacao_categoria`) USING BTREE,
KEY `descricao_categoria` (`descricao_categoria`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=193 ;
它是关于 'id_categoria' 第一列的 return 信息。
有没有人遇到过这个问题?有什么建议吗?
使用while循环遍历所有列。
$res = mysqli_query($this->get_connection(),"SHOW COLUMNS FROM " . $this->get_table());
while($mat = mysqli_fetch_assoc($res)){
var_dump($mat);
}