PHP實現擷取並產生資料庫字典的方法,php擷取資料庫字典_PHP教程

來源:互聯網
上載者:User

PHP實現擷取並產生資料庫字典的方法,php擷取資料庫字典


本文執行個體講述了PHP實現擷取並產生資料庫字典的方法。分享給大家供大家參考,具體如下:

<?php/** * 產生mysql資料字典 */header("Content-type:text/html;charset=utf-8");// 設定資料庫$database = array();$database['DB_HOST'] = 'localhost';$database['DB_NAME'] = 'test';$database['DB_USER'] = 'root';$database['DB_PWD'] = '';$mysql_conn = @mysql_connect("{$database['DB_HOST']}", "{$database['DB_USER']}", "{$database['DB_PWD']}") or die("Mysql connect is error.");mysql_select_db($database['DB_NAME'], $mysql_conn);$result = mysql_query('show tables', $mysql_conn);mysql_query("set names utf8");// 取得所有表名while ($row = mysql_fetch_array($result)){  $tables[]['TABLE_NAME'] = $row[0];}// 迴圈取得所有表的備忘及表中列訊息foreach($tables as $k => $v){  $sql = 'SELECT * FROM ';  $sql .= 'information_schema.TABLES ';  $sql .= 'WHERE ';  $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database['DB_NAME']}'";  $table_result = mysql_query($sql, $mysql_conn);  while ($t = mysql_fetch_array($table_result))  {    $tables[$k]['TABLE_COMMENT'] = $t['TABLE_COMMENT'];  }  $sql = 'SELECT * FROM ';  $sql .= 'information_schema.COLUMNS ';  $sql .= 'WHERE ';  $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database['DB_NAME']}'";  $fields = array();  $field_result = mysql_query($sql, $mysql_conn);  while ($t = mysql_fetch_array($field_result))  {    $fields[] = $t;  }  $tables[$k]['COLUMN'] = $fields;}mysql_close($mysql_conn);$html = '';// 迴圈所有表//print_r($tables);foreach($tables as $k => $v){  $html .= '
 
  ';  $html .= '
  ';  $html .= '
  '; $html .= ''; foreach($v['COLUMN'] AS $f) { $html .= '
   '; $html .= '
    '; $html .= '
    '; $html .= '
    '; $html .= '
    '; $html .= '
    '; $html .= '
   '; } $html .= '
  
表名:' . $v['TABLE_NAME'] . ' ' . $v['TABLE_COMMENT'] . '
欄位名 資料類型 預設值 允許非空 自動遞增 備忘
' . $f['COLUMN_NAME'] . '' . $f['COLUMN_TYPE'] . '' . $f['COLUMN_DEFAULT'] . '' . $f['IS_NULLABLE'] . '' . ($f['EXTRA'] == 'auto_increment'?'是':' ') . '' . $f['COLUMN_COMMENT'] . '

';}/* 產生word *///header ( "Content-type:application/vnd.ms-word" );//header ( "Content-Disposition:attachment;filename={$database['DB_NAME']}資料字典.doc" );/* 產生excel*///header ( "Content-type:application/vnd.ms-excel" );//header ( "Content-Disposition:attachment;filename={$database['DB_NAME']}資料字典.xls" );// 輸出echo ' 自動產生資料字典 ';echo '

'.$database['DB_NAME'].'資料字典

';echo '

產生時間:' . date('Y-m-d H:i:s') . '

';echo $html;echo '

總共:' . count($tables) . '個資料表

';echo '';?>

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作資料庫技巧總結》、《PHP運算與運算子用法總結》、《PHP網路編程技巧總結》、《PHP基本文法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家PHP程式設計有所協助。

http://www.bkjia.com/PHPjc/1125237.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1125237.htmlTechArticlePHP實現擷取並產生資料庫字典的方法,php擷取資料庫字典 本文執行個體講述了PHP實現擷取並產生資料庫字典的方法。分享給大家供大家參考,具...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.