mysql中获取表的列名的语法是什么?

时间:2011-04-28 21:32:46

标签: php mysql sql

有人可以告诉我有关PHP / MySQL的SHOW COLUMNS的使用,因为我没有通过搜索找到任何有用的东西。

我想要做的是从表中获取所有列名,然后使用这些列从会话中获取正确的数据以进行更新。

到目前为止我所拥有的是:

function get_Columns($con, $table){

    $sql_statement = "SHOW COLUMNS FROM " . NAME_TABLE_BASE . $table ;

    $temp = mysql_query($sql_statement) or die(mysql(error)) ;

    return mysql_fetch_array($temp) ;
}
?>

问题是这只返回第一列而不是全部。我需要改变什么?还有什么我可以添加到$sql_statement只能获取字段而不是所有其他信息如密钥类型等?

2 个答案:

答案 0 :(得分:3)

SHOW COLUMNS ...是oldschool方法。对于MySQL v5.x安装,您可以直接查询数据库的INFORMATION_SCHEMA数据库,查找与其托管的数据库/表/字段相关的任何内容:

select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where (TABLE_SCHEMA = 'your database') AND (TABLE_NAME = 'your table')

该表中还有更多具有特定字段数据的字段,记录为here

答案 1 :(得分:2)

将其置于while循环中以获取其他列名称

$sql_statement = "SHOW COLUMNS FROM " . NAME_TABLE_BASE . $table;
$temp = mysql_query($sql_statement) or die(mysql(error));

while($row = mysql_fetch_array($temp)) {
    print_r($row);
}