Показать сообщение отдельно
  #1  
Старый 12.02.2015, 03:42
miks miks вне форума
Прохожий
 
Регистрация: 06.01.2015
Сообщения: 2
Версия Delphi: Delphi XE
Репутация: 10
Вопрос Запись HTML кода в MySQL

Доброго времени суток,
прошу подсказки по стандартным способам мнемонизации HTML кода для внесения в БД и его последующего извлечения оттуда.
В наличии MySQL + Lazarus.

Суть проблемы: HTML код содержит одинарные и двойные кавычки, слеши и т.п., что блокирует выполнение стандартных команд SQL...

например,
имеем строку А:='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
... /* vBulletin 3 CSS For Style 'Обычный Стиль' (styleid: 1) */...'

попытка выполнения кода

SQLQuery.SQL.Add('Insert into source');
SQLQuery.SQL.Add('(HTML) ');
SQLQuery.SQL.Add('Values (:pHTML);');
SQLQuery.Params.ParamByName('pHTML').AsString:=A;

ожидаемо приводит к RunTime Error с комментарием о несовпадении числа столбцов в 2 и 3 строке.

в PHP есть функция addslashes(строка) проводящая мнемонизацию служебных символов при записи в БД, прошу подсказки в отношении возможных аналогов в Lazarus или эту проблему лучше решать самостоятельно? (функция замещения спецсимволов вещь не самая сложная в исполнении, однако не хочется изобретать велосипед).