是否有一种方法可以在MySQL中使用PHP获取表的列名?
当前回答
你可以使用DESCRIBE:
DESCRIBE my_table;
或者在更新的版本中,你可以使用INFORMATION_SCHEMA:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
或者你可以使用SHOW COLUMNS:
SHOW COLUMNS FROM my_table;
或者在一行中获取带逗号的列名:
SELECT group_concat(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
其他回答
mysql_list_fields函数可能会引起您的兴趣;但是,正如手册所述:
该函数不建议使用。它是 最好使用mysql_query()来 而不是使用SQL SHOW COLUMNS FROM table [LIKE 'name']语句。
调查:
mysql_query('DESCRIBE '.$table);
这个解决方案来自命令行mysql
mysql>USE information_schema;
在下面的查询中,只需将<——DATABASE_NAME——>更改为您的数据库,<——TABLENAME——>更改为您的表名,其中您只需要description语句的字段值
mysql> SELECT COLUMN_NAME FROM COLUMNS WHERE TABLE_SCHEMA = '<--DATABASE_NAME-->' AND TABLE_NAME='<--TABLENAME-->';
你可能还想检查mysql_fetch_array(),如下所示:
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs)) {
//$row[0] = 'First Field';
//$row['first_field'] = 'First Field';
}
你可以使用DESCRIBE:
DESCRIBE my_table;
或者在更新的版本中,你可以使用INFORMATION_SCHEMA:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
或者你可以使用SHOW COLUMNS:
SHOW COLUMNS FROM my_table;
或者在一行中获取带逗号的列名:
SELECT group_concat(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
推荐文章
- 如何关闭mysql密码验证?
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- MySQL区分大小写查询
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- MySQL数据库表中的最大记录数
- 原则-如何打印出真正的sql,而不仅仅是准备好的语句?
- 如何从关联PHP数组中获得第一项?
- PHP/MySQL插入一行然后获取id
- 我如何排序一个多维数组在PHP
- 如何在PHP中截断字符串最接近于一定数量的字符?
- PHP错误:“zip扩展名和unzip命令都没有,跳过。”
- Nginx提供下载。php文件,而不是执行它们