<?php require_once('Settings.php'); // $old_url = 'http://www.alt.com/board/index.php'; $new_url = 'http://neu.com/board/index.php'; // $dbcon = mysql_connect($db_server, $db_user, $db_passwd) or die(mysql_error()); mysql_select_db($db_name) or die(mysql_error()); $sqlquery = 'SELECT body,ID_MSG FROM '.$db_prefix.'messages WHERE body LIKE "%'.addslashes($old_url).'%"'; $request = mysql_query($sqlquery) or die(mysql_error()); $queries = array(); while ($data = mysql_fetch_assoc($request)) { if (!(stristr($data['body'],$old_url) === false)) { $queries[] = 'UPDATE '.$db_prefix.'messages SET body = "'.addslashes(stri_replace($old_url,$new_url,$data['body'])).'" WHERE ID_MSG = '.$data['ID_MSG'].';'; } } echo '<pre>'; foreach ($queries as $curquery) echo $curquery."\n"; echo '</pre>'; // function stri_replace($find,$replace,$string) { if(!is_array($find)) $find = array($find); if(!is_array($replace)) $replace = array($replace); foreach($find as $fKey => $fItem) { $between = explode(strtolower($fItem),strtolower($string)); $pos = 0; foreach($between as $bKey => $bItem) { $between[$bKey] = substr($string,$pos,strlen($bItem)); $pos += strlen($bItem) + strlen($fItem); } $string = implode($replace[$fKey],$between); } return($string); }?>
Die Beiden Variablen am Anfang richtig setzen und das Script ins YSE-Verzeichnis packen und dort ausführen... nach dem Durchlauf zeigt es Dir die SQL-Queries an die Du ausführen musst...
Wenn Du dem Script blind vertraust kannst Du auch
echo '<pre>';
foreach ($queries as $curquery)
echo $curquery."\n";
echo '</pre>';
durch
foreach ($queries as $curquery)
$request = mysql_query($curquery) or die(mysql_error());
ersetzen... dann führt es alle SQL-Abfragen selber durch...
Wie immer: Garantien gibt es keine...