php 中导出数据库数据类型的两种方法:直接方法:使用 getcolumnmeta() 方法获取列的原生数据类型。间接方法:使用 show columns 或 information_schema.columns 查询获取列的类型信息。
从数据库中导出数据类型的 PHP 方法
直接方法:
<?php $dbh = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$sth = $dbh->prepare("SELECT * FROM table_name");
$sth->execute();
$meta = $sth->getColumnMeta(0);
echo $meta['native_type'];
?>
间接方法:
<?php $dbh = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$sth = $dbh->prepare("SHOW COLUMNS FROM table_name");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
echo $result[0]['Type'];
?>
PDO 数据类型映射:
立即学习“PHP免费学习笔记(深入)”;
PDO 数据类型 | MySQL 数据类型 |
---|---|
PDO::PARAM_INT | INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT |
PDO::PARAM_STR | VARCHAR, CHAR, TEXT, BLOB |
PDO::PARAM_BOOL | BOOL |
PDO::PARAM_NULL | NULL |
PDO::PARAM_LOB | CLOB |
示例:
以下代码从 users 表中导出 name 列的数据类型:
<?php $dbh = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$sth = $dbh->prepare("SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'users' AND COLUMN_NAME = 'name'");
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
echo $result['COLUMN_TYPE'];
?>