bbgon
Точно приведите цитату из скрипта
Код: Выделить всё
 WHERE post_text LIKE '%" . 'СТАРЫЙ_ТЕКСТ' . "%'"; ).
 ).
		
		 
														Код: Выделить всё
 WHERE post_text LIKE '%" . 'СТАРЫЙ_ТЕКСТ' . "%'";rxu, я с удовольствием воспользуюсь тем, что Вы предлагаете, только ведь до цикла дело не доходит, проблема на самой первой стадии: тот sql-запрос, который формируется в самом начале (еще до применения каких-либо функций), даже если убрать оттуда слэш со второй частью искомого и оставить только twist:8080 возвращается пустым. В том числе если запускать запрос непосредственно в phpmyadmin.rxu писал(а):Думаю, addslashes надо убрать, а str_replace целиком заключить в конструкциюто же самое сделать с текстом в выборке.Код: Выделить всё
$db->sql_escape(str_replace('СТАРЫЙ_ТЕКСТ', 'НОВЫЙ_ТЕКСТ', $row['post_text']));
 
														
Код: Выделить всё
$sql = "SELECT post_text, post_id
FROM " . POSTS_TABLE . " 
WHERE post_text LIKE '%" . $db->sql_escape('twist:8080/phpBB3rus') . "%'";  
														
Код: Выделить всё
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    // Start session management 
    $user->session_begin();
    $auth->acl($user->data);
        $sql = "SELECT post_text, post_id
    FROM " . POSTS_TABLE . " 
    WHERE post_text LIKE '%" . $db->sql_escape('twist:8080/phpBB3rus') . "%'"; 
        if ( !($result = $db->sql_query($sql)) )
        {
            message_die(GENERAL_ERROR, 'Could not obtain posts', '', __LINE__, __FILE__, $sql);
        }
        else		
        {
		//$row = $db->sql_fetchrow($result);
		echo $sql;
            for ($i = 1; $row = $db->sql_fetchrow($result); $i++)
            {
                ECHO  "количество замен". $i;
            
                $sql = "UPDATE " . POSTS_TABLE . "
                    SET post_text = '" . $db->sql_escape(str_replace('twist:8080/phpBB3rus', 'хххххх.eu', $row['post_text'])) . "'
                    WHERE post_id = '" . $row['post_id'] . "';";
                if ( !($result_update = $db->sql_query($sql)) )
                {
                    message_die(GENERAL_ERROR, 'Could not update posts', '', __LINE__, __FILE__, $sql);
                }
            }
        } Естественно, это вид в режиме правки. А на странице видно только слово "тут", под которым прячется линк.url=http://twist:8080/phpBB3rus/viewtopic.php?f=4&t=4]тут[/url]
 
														Так вы на редактирование поля выйдитеbbgon писал(а):Хотя почему-то сам текст не показывается
не немного. В базе они совсе-е-е-м другие.bbgon писал(а):ссылки выглядят немного иначе:
 
														
А раньше не так пробовали?bbgon писал(а):Вот я сейчас попробовал задать ссылку как Палыч
 
														Код: Выделить всё
:Код: Выделить всё
WHERE post_text LIKE '%" . 'twist:8080/phpBB3rus' . "%'"; 
														Код: Выделить всё
		}
		echo "Works are not present more";
	} 
?> 
														ой, хреново искал!deninok писал(а):Я смотрел похожие темы на этом форуме, но ответа не нашёл...