Замена слов в БД с помощью sql запроса типа Replace

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

Давайте представим вы заполнили свой сайт, есть более 100 страниц в базе данных Mysql, но по каким-то причинам в каждом тексте есть одна и та же ошибка.

update `название таблицы в бд` set `поле в таблице`=REPLACE(`поле таблицы`,'что заменяем','на что заменяем')

Вот такой не сложный sql запрос, который пробежится по всем строкам в таблице, и заменит негодное слово на новое.

Пример:

Предположим, что в базе данных mysql есть таблица wp_posts (WordPress), нам нужно заменить слово с ошибкой, которое находится в ячейке «post_content». В ячейке «post_content» хранится текст который был заполнен в админке Wordprress->записи или WordPress->Страницы, во время редактирования, или добавления нового материала на сайт.

Предположим что была допущена ошибка в слове «Черновик», и вместо него указали «Чернавик», т.е вместо буквы О вы написали А.

Как будет выглядеть sql запрос?

update `wp_posts` set `post_content`=REPLACE(`post_content`,"Чернавик","Черновик")

После выполнения данного запроса в phpmyadmin, скрипт уведомит о вас о проделанной работе, и покажет сколько строк было затронуто. В моём случае это всего одна запись с данной статьёй.

Так же можно написать скрипт, и подключить его в function.php

function ivacms_replace_text(){
  global $wpdb;
  $wpdb->query("update `wp_posts` set `post_content`=REPLACE(`post_content`,'Чернавик','Черновик')");

}
add_action('init','ivacms_replace_text');

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*