php獲取資料庫表的相關資訊,
阿新 • • 發佈:2019-01-30
由於要寫介面文件和註釋,發現特別麻煩,就想寫個腳手架,來自動生成
需要獲取表的註釋和表的欄位型別,欄位名,欄位註釋等
1:獲取表註釋
show
table
status
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']; }