К сожалению, функция цитирования, используемая DBD :: mysql и клиентской библиотекой MySQL в целом, требует активного дескриптора базы данных .Согласно документации, «это необходимо, потому что экранирование зависит от набора символов, используемого сервером».
Я могу придумать несколько хакерских решений, но ни одно из них не является действительно удовлетворительным, поэтому давайте работатьс этим из документов:
Кодируются следующие символы: «\», «'», «» », NUL (ASCII 0),« \ n »,« \ r »и Control + ZСтрого говоря, MySQL требует только экранирования от обратной косой черты и символа кавычек, используемых для цитирования строки в запросе.
Это говорит о том, что вы, вероятно, можете избежать использования функции цитирования, которая выполняет либо
s/([\\"'])/\\$1/g;
или
s/([\\"'\0\n\r\cZ])/\\$1/g;
хотя я все равно был бы настороже.