Text Suchen & Ersetzen in einer MYSQL-Datenbank

5. Februar 2015 Webdesign Grundlagen Schlagwörter: ,

WordPress setzt ja leider absolute Links während der Inhaltsbearbeitung. Dies führt dazu, dass bei einem Umzug diese URL’s angepasst werden müssen. In diesem Posting zeige ich, wie das ganz einfach mit einem kleinen PHP Helfer geht.

<?php
// Connect to your MySQL database.
$hostname = "localhost";
$username = "db_username";
$password = "db_password";
$database = "db_name";

mysql_connect($hostname, $username, $password);

// The find and replace strings.
$find = "find_this_text";
$replace = "replace_with_this_text";

$loop = mysql_query("
    SELECT
        concat('UPDATE ',table_schema,'.',table_name, ' SET ',column_name, '=replace(',column_name,', ''{$find}'', ''{$replace}'');') AS s
    FROM
        information_schema.columns
    WHERE
        table_schema = '{$database}'")
or die ('Cant loop through dbfields: ' . mysql_error());

while ($query = mysql_fetch_assoc($loop))
{
        mysql_query($query['s']);
}
?>
  1. Das Snippet in einen leeren Editor File kopieren und z.B. db-text-replace-script.php nennen.
  2. Datenbank Daten Zugangsdaten anpasssen und Text zum Suchen & Ersetzen eingeben.
  3. Der Datei ausführbare Rechte geben. (744 bei SSH Aufruf, 745 bei Browser Aufruf).
  4. File per Command Line oder Browser aufrufen.
  5. Anschließende Kontrolle im PHP MyAdmin.
  6. Die Datei aus Sicherheitsgründen wieder vom Server löschen.

 

Das Snipped habe ich gefunden auf Stackoverflow.com Credits gehen an: Lee Woodman

Bachelor of Arts mit Schwerpunkt Handel, seit 2007 im Online Marketing spezialisiert. Neben langjähriger Erfahrung mit Magento, zertifizierter Google Partner mit Spezialisierung auf AdWords Accounts für E-Commerce Shops.

Submit a comment