kostenloser Webspace werbefrei: lima-city


Tabellen mit Präfix löschen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fifa-society

    fifa-society hat kostenlosen Webspace.

    Hallo,

    gibt es eine Möglichkeit alle Tabellen, welche mit dem Präfix "wcf1" beginnen per PHPMyAdmin zu löschen?
    Google als auch die Suchfunktion haben mich zu keinem Ergebnis gebracht - jede Tabelle einzeln zu löschen wäre bei mehr als 100 Tabellen etwas zu umständlich.

    Kennt ihr eine Funktion, die dies bewirkt?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. r**n

    <?php
    //Ziel: Alle Tabellen mit Präfix wcf1 löschen
    $mysqlhost="mysql.lima-city.de"; // MySQL-Host angeben
    $mysqluser="MYSQLUSER"; // MySQL-User angeben
    $mysqlpwd="MYSQLUSER"; // Passwort angeben
    $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindung zur Datenbank konnte nicht hergestellt werden. Was da los?");
    $mysqldb="MYSQLDATENBANK"; // Gewuenschte Datenbank angeben
    mysql_select_db($mysqldb, $connection) or die("Datenbank konnte nicht ausgew&auml;lt werden");
    
    $tables = mysql_query("SHOW TABLES FROM $mysqldb");
    
    while ($row = mysql_fetch_row($tables)) {
    	$tablename = $row[0];
    	$pos = strpos($tablename, 'wcf1');
    	if ($pos === false){
        	echo $tablename .' WIRD NICHT gel&ouml;scht!</br>';
    	} 
    	else{
    		echo $tablename .' WIRD gel&ouml;scht!</br>';
    		$deletequery = mysql_query("DROP TABLE $tablename");
    	}
    }
    ?>


    Setzt voraus das du keine weitere Datenbank besitzt die den String wcf1 beinhaltet.
    Es werden nämlich alle Datenbanken die diesen String im Namen tragen gelöscht (getestet und funktionierend)

    Hier das ganze nochmal übersichtlicher auf pastebin: http://pastebin.com/ChTWgN4j

    Beitrag zuletzt geändert: 18.5.2013 13:34:58 von ra1n
  4. $sql = "SHOW tables FROM $db LIKE '%wcf1_%'";
    $result = mysql_query($sql);
    
    while ($row = mysql_fetch_row($result)) {
        mysql_query("DROP TABLE {$row[0]}");
    }


    Du könntest SHOW tables FROM $db LIKE '%wcf1_%' auch via phpMyAdmin ausführen und einfach die Ergebnisse löschen ;)

    Beitrag zuletzt geändert: 18.5.2013 13:59:27 von fabo
  5. Autor dieses Themas

    fifa-society

    fifa-society hat kostenlosen Webspace.

    Danke für eure Antworten :-)
    Habe die Lösung von ra1n genommen, welche problemlos funktioniert hat, danke. Thema ist damit erledigt und kann geschlossen werden.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!