Will man eine Liste der Tabellen einer Datenbank erhalten, dann geht dies mit der Query :
SHOW TABLES FROM MyDatabase;
Dabei kommt die Antwort immer in der Ergebnis-Spalte „Tables_in_MyDatabase“ und läßt sich so nicht flexibel und komfortabel weiterverarbeiten. Dies kann unter Umständen aber sinnvoll sein, wenn bspw. in einem Plugin für WordPress der Datenbank-Name variiert. Deshalb gehe ich lieber über das „INFORMATION_SCHEMA“, da ich auf diesem Weg die Möglichkeit habe, eine Ergebnis-Spalte festzulegen:
SELECT TABLE_NAME AS tables FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'MyDatabase';
Folgender PHP-Code ließt alle Tabellen der aktuellen WordPress-Datenbank und gibt sie wie gewohnt als Result-Array zurück, wobei die Ergebnis-Spalte selbst gewählt „tables“ ist:
// WordPress-Datenbank-Name ist bspw. „MyTable“
global $wpdb;
$sql = $wpdb->prepare( "SELECT TABLE_NAME AS tables FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = %s", $wpdb->dbname );
$tables = $wpdb->get_results( $sql, ARRAY_A );
Nun ist diese so kodierte Query flexibel in jeder WordPress-Umgebung anwendbar.
Viel Spaß damit