Teil von  SELFPHP   Teil von  Code Snippets / MySQL / Server-Informationen
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Statusinformationen zu den Speicher-Engines des Servers anzeigen





Beispielaufgabe

Statusinformationen zu den Speicher-Engines des Servers anzeigen.



Beschreibung

Die Funktion mysqlEngines() listet die Statusinformationen zu den Speicher-Engines (z.B. MyISAM, InnoDB etc.) des Servers auf, also welche Speicher-Engines unterstützt und standardmäßig genutzt werden. Da die Abfrage für MySQL-Server vor MySQL 4.1.2 anders war, so muss bei dieser Funktion zuerst die MySQL-Version ermittelt werden, um die richtige Abfrage aufrufen zu können. Als Rückgabewert liefert die Funktion ein Array mit den unterstützen Engines und deren Status (YES, NO oder DEFAULT).
  • YES - Die Engine wird unterstützt
  • NO - Die Engine wird nicht unterstützt
  • DEFAULT - Die Standard-Engine




<?PHP 

function mysqlEngines( ) {
    
    
$mysqlVersion mysqlVersion( );
    
$format = array();
    
    if (
$mysqlVersion['int'] < 40102) {
        
        
$sql "SHOW VARIABLES LIKE 'have%'";
        
$format['engine'] = 'Variable_name';
        
$format['value'] = 'Value';
        
        
$engines[0]['engine'] = 'MyISAM';
        
$engines[0]['support'] = 'DEFAULT';
        
        
$engines[1]['engine'] = 'MEMORY';
        
$engines[1]['support'] = 'YES';
        
        
$engines[2]['engine'] = 'MERGE';
        
$engines[2]['support'] = 'YES';
        
        
$engines[3]['engine'] = 'HEAP';
        
$engines[3]['support'] = 'YES';
        
        
$additionalEngines = array(
            
'have_archive' => 'ARCHIVE',
            
'have_bdb'     => 'BDB',
            
'have_csv'     => 'CSV',
            
'have_innodb'  => 'InnoDB',
            
'have_isam'    => 'ISAM',
            
'have_gemini'  => 'Gemini'
        
);
        
    } 
    else {
    
        
$sql "SHOW STORAGE ENGINES";
        
$format['engine'] = 'Engine';
        
$format['value'] = 'Support';
    
    }
    
    
$result = @mysql_query$sql );
    
    if( 
$mysqlVersion['int'] < 40102 )
        
$x 4;
    else
        
$x 0;
    
    while( ( 
$row = @mysql_fetch_array$resultMYSQL_ASSOC ) ) == true ){
        
        if( 
$mysqlVersion['int'] < 40102 ) {
            if( !empty(
$additionalEngines[$row[$format['engine']]])){
                
$engines[$x]['engine'] = $additionalEngines[$row[$format['engine']]];
                
$engines[$x]['support'] = $row[$format['value']];
            }
        }
        else {
            
$engines[$x]['engine'] = $row[$format['engine']];
            
$engines[$x]['support'] = $row[$format['value']];
        }
        
                
        
$x++;
                
    }

    return 
$engines;
    
}

?>



Zusatzfunktionen

<?PHP

function mysqlVersion( ) {
    
    
$sql 'SELECT VERSION( ) AS versionsinfo';

    
$result = @mysql_query($sql);

    
$version = @mysql_result$result0"versionsinfo" );
    
    
$match explode'.'$version );
    
    
$vers['txt'] = $version;
    
    
$vers['int'] = sprintf'%d%02d%02d'$match[0], $match[1], intval$match[2] ) );
    
    return 
$vers;

}

?>



Anwendungsbeispiel

<?PHP

$conn 
= @mysql_connect("localhost""mysql_user""mysql_password");

if (!
$conn) {
    echo 
"Fehlende Verbindung zur DB: " mysql_error();
    exit;
}

print_r mysqlEngines() );

?>



Ausgabebeispiel: Browseransicht

Array
(
    [0] => Array
        (
            [engine] => MEMORY
            [support] => YES
        )

    [1] => Array
        (
            [engine] => FEDERATED
            [support] => NO
        )

    [2] => Array
        (
            [engine] => MyISAM
            [support] => DEFAULT
        )

    [3] => Array
        (
            [engine] => BLACKHOLE
            [support] => YES
        )

    [4] => Array
        (
            [engine] => MRG_MYISAM
            [support] => YES
        )

    [5] => Array
        (
            [engine] => CSV
            [support] => YES
        )

    [6] => Array
        (
            [engine] => ARCHIVE
            [support] => YES
        )

    [7] => Array
        (
            [engine] => InnoDB
            [support] => YES
        )
)






 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt