disign.it | PHP: listato della struttura dei Db presenti sul server | a digital sign for a best design!
A digital sign for a best design
Programmazione 2.097 visualizzazioni

PHP: listato della struttura dei Db presenti sul server

20/02/2012

 A volte è molto comodo aver a portata di mano, anzi di vista, la struttura dei db presenti sul nostro server, oppure poterla ricavare senza la necessità di passare per phpMyAdmin, o riga di comando o a altra applicazione di gestione dei Database sul server remoto.
    Con un piccolo script possiamo ricavare la struttura di tutti database di proprietà dell'utente con cui apriamo la connessione al server.
    Nello script ho inserito delle condizioni che escludono dalla visualizzaione 'information_schema': dalla versione 5.0 di MySql infatti è disponibile il CATALOG ovvero il Data Dictionary, contenente la descrizione di tutti gli oggetti definiti in MySQL, visibile sotto forma di tabelle, information_schema.
    La prima riga richiede il file di connessione al db (contenente nome server, nome utente e password), e successivamente ci son tre cicli annidati che leggono i database disponibili, per ognuno le tabelle presenti, per ognuna i campi presenti.

    require 'connessione.php';
    
    $res = mysql_query("SHOW DATABASES");
    while ($row = mysql_fetch_assoc($res)) {
    if ($row['Database'] != 'information_schema')
    echo "

Database: " . $row['Database'] . "
";

    
        $sql = "SHOW TABLES FROM $row[Database]";
        $result = mysql_query($sql);
        if ($row['Database'] != 'information_schema')
        while ($row = mysql_fetch_row($result)) {
        echo "
Tabella: {$row[0]}";
        
            $sq = "SHOW COLUMNS FROM $row[0]";
            $r = mysql_query($sq);
            while ($re = mysql_fetch_row($r)) {
            echo "
Campo: {$re[0]}";       
         }
            
    }
echo "

 

";
}

 

← Htaccess e header location CSS: rollover immagini →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.