泰国做彩票网站,南昌购物网站制作,蜂蜜网站建设,网站域名保护几年针对国产数据库 人大金仓KingbaseES 其实php 连接采用pdo方式
必须#xff1a;需要去人大数据金仓官方网站 下载对应版本的pdo_kdb 扩展驱动
其连接方法与pgsql 数据库连接方法大致相同 不解释 直接上代码#xff1a;
?php
/*** 生成人大金仓数据字典*/
header(…针对国产数据库 人大金仓KingbaseES 其实php 连接采用pdo方式
必须需要去人大数据金仓官方网站 下载对应版本的pdo_kdb 扩展驱动
其连接方法与pgsql 数据库连接方法大致相同 不解释 直接上代码
?php
/*** 生成人大金仓数据字典*/
header(Content-type:text/html;charsetutf-8);// 配置数据库
$database array();
$database[DB_HOST] 127.0.0.1;
$database[DB_NAME] demo;
$database[DB_USER] demo;
$database[DB_PWD] demo;
$database[PORT] 54321;
try {$conn new PDO(kdb:host{$database[DB_HOST]};dbname{$database[DB_NAME]};port{$database[PORT]}, $database[DB_USER], $database[DB_PWD]);$conn-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {die(连接失败: . $e-getMessage());
}$result $conn-query(SELECT table_name FROM information_schema.tables WHERE table_schema public);
$tables $result-fetchAll(PDO::FETCH_ASSOC);$html ;$html . table border1 cellspacing0 cellpadding0 aligncenter;
$html . tbodytrth序号/thth表名/thth功能说明/th/tr;foreach ($tables as $k $v) {$sort $k 1;$tableName $v[table_name];// Get table comment$tableComment $conn-query(SELECT obj_description(public.{$tableName}::regclass, pg_class) AS table_comment)-fetchColumn();$html . tr;$html . td classc1 . $sort . /td;$html . td classc2 . $tableName . /td;$html . td classc3 . $tableComment . /td;$html . /tr;
}
$html . /tbody/table/p;$html . br /br /br /;foreach ($tables as $v) {$tableName $v[table_name];$fields $conn-query(SELECT column_name,data_type,column_default,is_nullable,character_maximum_length, -- Add this line if you want to get the character maximum lengthnumeric_precision, -- Add this line if you want to get the numeric precisionnumeric_scale, -- Add this line if you want to get the numeric scale(SELECT description FROM pg_description WHERE objoid (SELECT oid FROM pg_class WHERE relname {$tableName} AND relnamespace (SELECT oid FROM pg_namespace WHERE nspname public))AND objsubid (SELECT ordinal_position FROM information_schema.columns WHERE table_name {$tableName} AND table_schema public AND column_name c.column_name)) AS column_commentFROM information_schema.columns cWHERE table_name {$tableName} AND table_schema public)-fetchAll(PDO::FETCH_ASSOC);$html . table border1 cellspacing0 cellpadding0 aligncenter;$html . caption表名 . $tableName . . /caption;$html . tbodytrth字段名/thth数据类型/thth默认值/thth允许非空/thth备注/th/tr;foreach ($fields as $f) {$html . tr;$html . td classc1 . $f[column_name] . /td;$html . td classc2 . $f[data_type] . /td;$html . td classc3 . $f[column_default] . /td;$html . td classc4 . ($f[is_nullable] YES ? 是 : 否) . /td;$html . td classc5 . $f[column_comment] . /td;$html . /tr;}$html . /tbody/table/p;
}echo htmlmeta charsetutf-8title自动生成数据字典/titlestylebody,td,th {font-family:宋体; font-size:12px;}table,h1,p{width:960px;margin:0px auto;}table{border-collapse:collapse;border:1px solid #CCC;background:#efefef;}table caption{text-align:left; background-color:#fff; line-height:2em; font-size:14px; font-weight:bold; }table th{text-align:left; font-weight:bold;height:26px; line-height:26px; font-size:12px; border:1px solid #CCC;padding-left:5px;}table td{height:20px; font-size:12px; border:1px solid #CCC;background-color:#fff;padding-left:5px;}.c1{ width: 150px;}.c2{ width: 150px;}.c3{ width: 80px;}.c4{ width: 100px;}.c5{ width: 300px;}/stylebody;
echo h1 styletext-align:center; . $database[DB_NAME] . 数据字典/h1;
echo p styletext-align:center;margin:20px auto;生成时间 . date(Y-m-d H:i:s, time()) . /p;
echo $html;
echo p styletext-align:left;margin:20px auto;总共 . count($tables) . 个数据表/p;
echo /body/html;
?