我有以下PHP代码:
$res = mysqli_query($this->get_connection(),"SHOW COLUMNS FROM " . $this->get_table());
$mat = mysqli_fetch_assoc($res);
var_dump($mat);
连接正常,它正在返回数据,因此我们可以跳过此部分。
问题在于,据我所知,SHOW COLUMNS应该为表格中的每一列返回一行。但是当我针对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',第一列。
以前有人遇到过这个问题吗?有什么建议吗?
答案 0 :(得分:1)
使用while循环遍历所有列。
$res = mysqli_query($this->get_connection(),"SHOW COLUMNS FROM " . $this->get_table());
while($mat = mysqli_fetch_assoc($res)){
var_dump($mat);
}