是否有一种方法可以在MySQL中使用PHP获取表的列名?


当前回答

有趣的是,您可以使用 EXPLAIN table_name与DESCRIBE table_name和SHOW COLUMNS FROM table_name同义 尽管EXPLAIN更常用来获取关于查询执行计划的信息。

其他回答

mysql_list_fields函数可能会引起您的兴趣;但是,正如手册所述:

该函数不建议使用。它是 最好使用mysql_query()来 而不是使用SQL SHOW COLUMNS FROM table [LIKE 'name']语句。

如果你喜欢的话,还有这个:

mysql_query('SHOW COLUMNS FROM tableName'); 

这对我很有效。

$sql = "desc MyTableName";
$result = @mysql_query($sql);
while($row = @mysql_fetch_array($result)){
    echo $row[0]."<br>";
}

这个怎么样:

SELECT @cCommand := GROUP_CONCAT( COLUMN_NAME ORDER BY column_name SEPARATOR ',\n')
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';

SET @cCommand = CONCAT( 'SELECT ', @cCommand, ' from my_database.my_table;');
PREPARE xCommand from @cCommand;
EXECUTE xCommand;

MySQL函数 描述表 应该把你带到你想去的地方(把你的表名输入“table”)。您必须对输出进行一些解析,但这非常简单。我记得,如果执行该查询,PHP查询结果访问函数将以列名作为键,该函数通常会提供一个键-值对。但我已经有一段时间没有使用PHP了,所以不要强迫我这么做。:)