From: Yukko <yukko#bigmir.net>
Newsgroups: email
Date: Mon, 1 Sep 2003 14:31:37 +0000 (UTC)
Subject: Формирование запросов к MsSQL из PHP.
Для работы с MySQL в PHP есть функция addslashes(), которая обрабатывает sql
запрос (другую подобную строку), ставя перед ",',NULL, обратный слэш
НО! Если есть необходимость сделать тоже самое под MsSQL, Oracle (не проверено,
но стоит попробовать, там такие же требования к запросам!) то надо поступать
по-другому, потому чтобы вставить в MsSQL одиночную кавычку, надо ее удвоить.
MsSQL принимает запросы в виде:
INSERT INTO dbo.USERS (UserName,) VALUES ('yukko10')
Т.е. строки обрамляются одиночными кавычками.
Чтобы вместо yukko10 вставить yukko's10 надо удвоить кавычку и написать:
INSERT INTO dbo.USERS (UserName,) VALUES ('yukko''10')
Лень! Да и к тому же все входящие данные, которые пойдут в БД,
надо обработать на предемет присутсвия одиночной кавычки.
Автоматизируем процесс!
Код:
Выведет:
INSERT INTO dbo.USERS (UserName,) VALUES ('yukko''10')
Соответственно на строку
INSERT INTO dbo.USERS (UserName,) VALUES ('yukko''10')
Выведет:
INSERT INTO dbo.USERS (UserName,) VALUES ('yukko''''10')
Четыре кавычки внутри и по одной снаружи слова yukko''10, чтобы отделить
строку в sql запросе.
Прошу тестировать и присылать ошибки и исправления!
517 Прочтений • [Формирование запросов к MsSQL из PHP. (win sql php)] [08.05.2012] [Комментариев: 0]