【问题标题】:Mysql pdo column type, name, and valueMysql pdo 列类型、名称和值
【发布时间】:2019-05-21 17:17:34
【问题描述】:

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

$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 columnname


【解决方案1】:

尝试执行以下查询:

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)

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

【讨论】:

  • 感谢您的回复,但我不确定这就是我想要的一切。我试图能够回显指定行的列类型、列名称及其值。我的示例这样做但不检索列类型...
猜你喜欢
  • 1970-01-01
  • 2014-05-27
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 2019-02-02
  • 2013-09-07
相关资源
最近更新 更多