使用 PHP 检索 MySQL 中的表列名
MySQL 提供了多种方法来获取表的列名。以下是最常用的技术:
DESCRIBE
DESCRIBE 语句返回有关表的详细信息,包括列名称。
$stmt = $db->prepare("DESCRIBE my_table"); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { echo "<p>" . $row['Field'] . "</p>"; }
INFORMATION_SCHEMA
从MySQL 5.0 版中,INFORMATION_SCHEMA 数据库包含有关数据库模式、表和列的信息。
$stmt = $db->prepare("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'"); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { echo "<p>" . $row['COLUMN_NAME'] . "</p>"; }
SHOW COLUMNS
SHOW COLUMNS 语句显示有关表的详细信息列。
$stmt = $db->prepare("SHOW COLUMNS FROM my_table"); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { echo "<p>" . $row['Field'] . "</p>"; }
组连接
要获取以逗号分隔的字符串形式的列名称,您可以使用组连接:
$stmt = $db->prepare("SELECT group_concat(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'"); $stmt->execute(); $columnNames = $stmt->fetchColumn(); echo "<p>" . $columnNames . "</p>";
以上是如何使用 PHP 检索 MySQL 表列名?的详细内容。更多信息请关注PHP中文网其他相关文章!