php获取服务器上所有数据库、表以及字段

时间:2016-07-07
本文章向大家介绍php获取数据库服务器上的所有数据库,以及每个数据库中所有的表和表中的字段,主要使用到php mysql_list_dbs和mysql_list_tables函数,需要的朋友可以参考一下。

具体源代码如下所示:

<?php
$user = "root";
$pass = "password";
$db = "manongjc";
$link =  mysql_connect( "mysql153.secureserver.net", $user, $pass );
if ( ! $link )
    die( "Couldn't connect to MySQL" );

$db_res = mysql_list_dbs( $link );

while ( $db_rows = mysql_fetch_row( $db_res ) ) {
    print "<b>$db_rows[0]</b>\n";
    if ( !@mysql_select_db( $db_rows[0], $link ) ) {
        print "<dl><dd>couldn't connect -- " . mysql_error() ." </dl>";
        continue;
    }
    $tab_res = mysql_list_tables( $db_rows[0], $link );
    print "\t<dl><dd>\n";
    while ( $tab_rows = mysql_fetch_row( $tab_res ) ){
        print "\t<b>$tab_rows[0]</b>\n";
        $query_res = mysql_query( "SELECT * from $tab_rows[0]" );
        $num_fields = mysql_num_fields( $query_res );
        print "\t\t<dl><dd>\n";
        for ( $x=0; $x<$num_fields; $x++ ){
            print "\t\t<i>";
            print mysql_field_type( $query_res, $x );
            print "</i> <i>";
            print mysql_field_len( $query_res, $x );
            print "</i> <b>";
            print mysql_field_name( $query_res, $x );
            print "</b> <i>";
            print mysql_field_flags( $query_res, $x );
            print "</i><br>\n";
        }
        print "\t\t</d1>\n";
    }
    print "\t</d1>\n";
}
mysql_close( $link );
?>

php mysql_list_db mysql_list_tables函数的使用方法请参考《php mysql_list_tables获取数据库中所有表》 

php mysql_list_db 函数的使用方法请参考《php mysql_list_dbs获取MySQL服务器中所有的数据库》