Mysql pdo 列类型、名称和值

问题描述 投票:0回答:1

我正在使用 php 7.2、mysql pdo 并尝试获取列类型、名称和值。我一直在使用它,它对列名和值做得很好,但现在我想动态读取类型(varchar、文本、日期等...)

$sql = "SELECT * FROM myTable WHERE id = :id limit 1";

$st = $db->prepare($sql);
$st->execute([":id" => $id]);
$row = $st->fetch(PDO::FETCH_ASSOC);

if (count($row) >= 1) {
    foreach ($row as $column => $value) {
            $$column = $value; 
        }

}
mysql pdo metadata database-schema
1个回答
0
投票

尝试执行以下查询:

SHOW COLUMNS FROM myTable;

例如:

mysql> SHOW COLUMNS FROM price;
+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| price_id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| effective_date | date         | NO   |     | NULL    |                |
| min_quantity   | int(11)      | NO   |     | NULL    |                |
| price          | decimal(7,0) | NO   |     | NULL    |                |
+----------------+--------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

Column Field 将为您提供列名称键入列类型,Null 将为“NO”或“YES”,具体取决于该列是否可为空,如果该列是列的一部分,则 Key 将为“PRI”主键等。阅读手册。

© www.soinside.com 2019 - 2024. All rights reserved.