Почему я получаю сообщение об ошибке в SQL при попытке найти и заменить JavaScript в базе данных - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь запустить поиск и замену в phpMyAdmin, потому что глупые хакеры вставили БД в сайт, который я разработал.Я ищу эту конкретную строку текстов, которая появляется в 600+ различных сообщениях:

<script src='https://hotopponents.site/site.js' type='text/javascript'></script>

Я получаю эту ошибку:

ОШИБКА: неизвестная строка пунктуации @ 67

Это попытка поиска и замены SQL-запроса;

SELECT `post_content`, REPLACE(`post_content`, '<script src='https://hotopponents.site/site.js' type='text/javascript'></script>', ''), COUNT(*) FROM `db709131568`.`wp_posts` WHERE `post_content` LIKE '%<script src='https://hotopponents.site/site.js' type='text/javascript'></script>%' COLLATE utf8_bin GROUP BY `post_content` ORDER BY `post_content` ASC

Что можно сделать, кроме ручного редактирования 600+ отдельных строк содержимого?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

, поскольку вы используете phpmyadmin, перейдите на вкладку поиска> найдите и замените

  • Введите полное значение <script src='https://hotopponents.site/site.js' type='text/javascript'></script> как есть, выберите столбец и отметьте «Использовать регулярное выражение»
0 голосов
/ 30 сентября 2018

Вы должны избегать одинарных кавычек, удваивая их.

SELECT `post_content`, REPLACE(`post_content`, '<script src=''https://hotopponents.site/site.js'' type=''text/javascript''></script>', ''), COUNT(*) FROM `db709131568`.`wp_posts` WHERE `post_content` LIKE '%<script src=''https://hotopponents.site/site.js'' type=''text/javascript''></script>%' COLLATE utf8_bin GROUP BY `post_content` ORDER BY `post_content` ASC

(Говоря о escape-символах, вы также можете подумать об использовании HTML-экранированных символов при отображении содержимого, введенного пользователем.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...