Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Как заменить теги в phpmyadmin?


Автор: nikki4 2.4.2015, 15:42
Погуглил, составил такой запрос

Код

UPDATE site_content SET fulltext = REPLACE ( fulltext,  '<p>',  '<p  class="myclass>"');

где site_content - название таблицы в БД
fulltext - поле таблицы content с основным контентом таблицы

В ответ 
Цитата

#1064 - You have an error in your SQL syntax; 

Как правильно составить?
Может это с кавычками что-то не так?
но я пробовал еще другой запрос как альтернативу, заменить <p></p> на пусто, т.е. убрать. Тоже ошибка.

а и еще, чтобы это было только в опредленной категории (джумла)
надо добавить  как понимаю, что-то типа:

Код

UPDATE site_content SET fulltext = REPLACE ( fulltext,  '<p>',  '<p  class="myclass>"') where catid = 1;


Какой должен быть sql запрос,  чтобы обработать это?
Заранее спасибо!

Автор: ТоляМБА 2.4.2015, 16:10
Код
UPDATE site_content SET `fulltext` = REPLACE ( `fulltext`,  '<p>',  '<p  class="myclass>"');

Автор: Akina 2.4.2015, 16:17
Цитата(nikki4 @  2.4.2015,  16:42 Найти цитируемый пост)
В ответ 
Цитата

You have an error in your SQL syntax;
 

Запомни на всю жизнь две истины.

Первая - сообщение об ошибке приводится полностью, а не столько, сколько тебе не жалко. Более того - сохраняется не только его текст, но и его форматирование (например, переводы строк).
Вторая - сервер, цитируя ошибочную по его мнению инструкцию, начинает ровно с того символа, с коего, по его мнению, начинается ошибочная конструкция в тексте запроса.

Ну и да - список зарезервированных слов надо учить наизусть.

Автор: nikki4 5.4.2015, 23:07
Запрос почему-то не работает с пробелом. т.е. 
Код
UPDATE site_content SET `fulltext` = REPLACE ( `fulltext`,  '<p></p>',  'test') where `catid`=1 ;

работает, а вот так:
Код
UPDATE site_content SET `fulltext` = REPLACE ( `fulltext`,  '<p> </p>',  'test') where `catid`=1 ;
 уже не меняет.
В чем дело? может быть там не пробел, а какая-то скрытый невидимый символ в phpmyadmin? или что такое.


И частично в тему дополню вопрос.
Как при помощи sql запроса добавить в начало introtext <div class="intro"> а в конец </div>?
погуглил, написал так:
Код

UPDATE site_content SET `introtext` = CONCAT('<div class=intro>',  'introtext') WHERE  `catid` =1

а он вообще все удалил, оставил только див класс, да и то с кавычками выполнять запрос не хотел

Автор: ТоляМБА 5.4.2015, 23:32
Код
UPDATE site_content SET `introtext` = CONCAT('<div class=intro>',  `introtext`, '</div>') WHERE  `catid` =1

Улавливаешь разницу в кавычках у introtext у тебя и у меня?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)