[Moscow.pm] escaping chars in sql
bessarabov
ivan на bessarabov.ru
Пн Янв 5 13:05:09 PST 2009
Привет.
Что-то не могу сообраить. Пишу в sqlite базу:
$sth = $dbh->prepare("INSERT INTO t1 (f1, f2) VALUES ('$foo', '$bar')");
Все пишется прексрано, но когда в скаляр
попадает одинчная кавычка все чудестно
падает:
DBD::SQLite::db prepare failed: near "s": syntax error(1) at dbdimp.c line
271 at foobar.pm line 74.
Я решил это, заменяя одиночную кавычку на
двойную ($foo =~ s/'/"/g;) перед insert.
Все работает, но у меня есть следующие
вопросы:
1. Можно ли как-нибудь заэскейпить
одиночную кавычку в sql запросе, чтобы она
все-таки попадала в поле таблицы?
1. Нужно ли что-нить еще эскейпить?
--
bessarabov
Подробная информация о списке рассылки Moscow-pm