работе с Интербейзом, Сибейзом, MSSQL является str_replace("'", "''"),
не понял??? ты категорически предлагаешь не делать перед запросом в MS SQL не делать str_replace? а делать magic_quotes_sybase=on?
Тогда, когда при работе с MS SQL в одном батче не удается сделать все, что нужно сделать на данной страничке, а приходится делать несколько запросов, и в результате получается значение с одинарной кавычкой, приходится делать еще:
set_magic_quotes_runtime(1);
что не всегда приводит к ожидаемым результатам (к сожалению сейчас привести пример не могу, но помню, что ушел от этого год назад именно по этой причине).
По моему скромному мнению те, кто работает со связкой:
PHP+Sybase
PHP+MS SQL
PHP+Interbase
в большинстве случаев являются сами себе хостерами и могут руками выключить все magic_quotes_sybase=off
magic_quotes_sybase=off
и делать прямо перед запросом
str_replace("'", "''", $data);
для каждого параметра, который передается в запрос при помощи функции, подобной той, которую привел Фанат тут:
http://phpfaq.ru/slashes#mysql, либо при помощи аналога библиотеки предложенной тут:
http://dklab.ru/chicken/nablas/30.html и обсужденной тут:
http://xpoint.ru/forums/thread.xhtml?action=thread&id=19337.
это отэкранирует не все служебные символы
Какие именно служебные символы еще нужно отэкранировать для MS SQL кроме одинарной кавычки? Правомерность этого вопроса доказывает
http://phpclub.ru/talk/showthread.php?s=&threadid=52902 и
http://ua.php.net/manual/en/function.addslashes.php (коммент mike at gyrate dot org)
-~{}~ 14.08.04 22:32:
Слеш нужен только при работе с некоторыми базами данных. Причем нужен обязательно.
Предлагаю объединить все в одно предложение, что-то типа:
При работе с некоторыми базами данных слеш нужен обязательно, а во всех остальных случаях он только мешает.
Но не всегда есть доступ к настройкам PHP, особенно если программа пишется для распространения.
Получается у бедного программиста, котрый пишет программу для распространения, чаще чем у других нет доступа к настройкам РНР
Предлагаю перефразировать:
Если нет доступа к настройкам РНР, либо программа пишется для распространения...
Мелочи:
пришедшим от пользователя - из POST
ИМХО, тире лишнее
тоже самое... лучше так:
...скрипта. Например, ...