Gre*_*reg 494
您可以使用DESCRIBE:
DESCRIBE my_table;
Run Code Online (Sandbox Code Playgroud)
或者在较新的版本中,您可以使用INFORMATION_SCHEMA:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
Run Code Online (Sandbox Code Playgroud)
或者您可以使用SHOW COLUMNS:
SHOW COLUMNS FROM my_table;
Run Code Online (Sandbox Code Playgroud)
OMG*_*ies 34
以下SQL语句几乎相同:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name'
[AND table_schema = 'db_name']
[AND column_name LIKE 'wild']
SHOW COLUMNS
FROM tbl_name
[FROM db_name]
[LIKE 'wild']
Run Code Online (Sandbox Code Playgroud)
Phi*_*lip 20
我创建了一个PDO函数,它返回一个简单数组中的所有列名.
public function getColumnNames($table){
$sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = :table";
try {
$core = Core::getInstance();
$stmt = $core->dbh->prepare($sql);
$stmt->bindValue(':table', $table, PDO::PARAM_STR);
$stmt->execute();
$output = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$output[] = $row['COLUMN_NAME'];
}
return $output;
}
catch(PDOException $pe) {
trigger_error('Could not connect to MySQL database. ' . $pe->getMessage() , E_USER_ERROR);
}
}
Run Code Online (Sandbox Code Playgroud)
输出将是一个数组:
Array (
[0] => id
[1] => name
[2] => email
[3] => shoe_size
[4] => likes
... )
Run Code Online (Sandbox Code Playgroud)
对不起,我喜欢我的功能;)
PS我没有包括Core类,但你可以使用自己的类.. DS
小智 6
这个解决方案来自命令行mysql
mysql>USE information_schema;
Run Code Online (Sandbox Code Playgroud)
在下面的查询中只需将< - DATABASE_NAME - >更改为您的数据库,将< - TABLENAME - >更改为您只需要DESCRIBE语句的字段值的表名
mysql> SELECT COLUMN_NAME FROM COLUMNS WHERE TABLE_SCHEMA = '<--DATABASE_NAME-->' AND TABLE_NAME='<--TABLENAME-->';
Run Code Online (Sandbox Code Playgroud)
我需要列名作为平面数组,而其他答案返回关联数组,所以我使用:
$con = mysqli_connect('localhost',$db_user,$db_pw,$db_name);
$table = 'people';
/**
* Get the column names for a mysql table
**/
function get_column_names($con, $table) {
$sql = 'DESCRIBE '.$table;
$result = mysqli_query($con, $sql);
$rows = array();
while($row = mysqli_fetch_assoc($result)) {
$rows[] = $row['Field'];
}
return $rows;
}
$col_names = function get_column_names($con, $table);
Run Code Online (Sandbox Code Playgroud)
$col_names 现在等于:
(
[0] => name
[1] => parent
[2] => number
[3] => chart_id
[4] => type
[5] => id
)
Run Code Online (Sandbox Code Playgroud)