1. 程式人生 > >php獲取資料庫表的相關資訊,

php獲取資料庫表的相關資訊,

由於要寫介面文件和註釋,發現特別麻煩,就想寫個腳手架,來自動生成

需要獲取表的註釋和表的欄位型別,欄位名,欄位註釋等

1:獲取表註釋

show tablestatus like表名 讀取表名和註釋

$sql   = sprintf("show table status like '%s'", $table);
$stmt  = $dbh->prepare($sql);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
if(!empty($results)) {
if($results[0][
'Name'] == $table){ $sComment = $results[0]['Comment']; } }

2:欄位名,欄位型別,註釋等

$sql   = sprintf('SHOW FULL COLUMNS FROM %s', $table);
$stmt  = $dbh->prepare($sql);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
$fields  = array();
foreach ($results as $row) {
if (in_array
($row['Field'], $filter_columns)) { continue; } $fields[$row['Field']]['fieldName'] = $row['Field']; $length = strpos($row['Type'],'('); if($length === false) { $length = strlen($row['Type']); } $val_type = substr($row['Type'], 0, $length); $fields[$row['Field']]['Type'] = field_format($val_type
); $fields[$row['Field']]['Comment'] = $row['Comment']; }