|
|
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Раньше, при работе с MySQL я экранировал запросы к базе с помощью mysql_real_escape_string, но при работе с mssql это, конечно, невозможно. Для экранирования я стал использовать mysql_escape_string, и всё вроде бы хорошо, но при добавлении кавычек в поля формы я получаю ошибки вроде таких: Warning: mssql_query() [function.mssql-query]: message: Unclosed quotation mark after the character string '113\\\''. (severity 15) in ...index.php on line 233 Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near '113\\\''. (severity 15) in ...index.php on line 233 Warning: mssql_query() [function.mssql-query]: Query failed in ...index.php on line 233 Warning: mssql_fetch_row(): supplied argument is not a valid MS SQL-result resource in ...index.php on line 234 Как видно, база не восприняла экранированные символы как простую строку и стала ругаться. В случае же с mysql всё проходило гладко и запрос выполнялся корректно, а кавычки были частью строки. Внимание, вопрос: как экранировать спец символы для MsSQL, чтобы не получать ошибок синтаксиса? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2011, 13:58:16 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
используй pdo и параметры. или odbc и параметры. или микрософтовский драйвер и параметры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2011, 14:18:43 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
ScareCrowпараметры+1024 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2011, 15:18:00 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Коннект к базе идёт через mssql_connect, где тем параметры соединения? Извиняюсь за возможную тупизну вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2011, 15:21:48 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
mssql_bind ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2011, 15:28:09 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Да, собственно какие параметры использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2011, 13:22:48 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Вы пример видели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2011, 22:28:41 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Я вас всё же не понял, но набредя на статью , решил вручную заменить кавычки на двойные, а % и _ заключить в скобки []. Это безопасно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 16:07:25 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 16:24:14 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Tmin10Я вас всё же не понялВ указанном выше примере всего десяток строчек какая конкретно строка непонятна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 16:34:32 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Я так понял, что речь об этом примере, он там один: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. В нём создаются новая процедура и к ней привязываются имена полей, непонятно где вставлять сам мой запрос и как в нём могут заэкранироваться спецсимволы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 16:39:12 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
автори как в нём могут заэкранироваться спецсимволы автоматически. пример левый. старый. сейчас это делается параметрическим запросом но эта библиотека их не держит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 17:08:01 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 21:14:45 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Кажется начинаю понимать, все запросы к базе данных я должен выполнять не через mssql_query, а через mssql_init и mssql_bind? Причём честно не понимаю как с их помощью выполнить простейший SELECT или INSERT... Страшно извиняюсь за своё невежество, мне очень неудобно перед вами, работаю в MsSQL совсем недавно и вовсе не по своей воле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 22:24:42 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 23:34:11 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
Я знаю про альтернативные способы подключения к БД, но необходимо использовать именно текущий, обеспечивает ли экранирование кавычек хотя бы видимость безопасности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2011, 16:13:38 |
|
||
|
Экранирование символов при запросах к mssql
|
|||
|---|---|---|---|
|
#18+
ScareCrow http://www.microsoft.com/download/en/details.aspx?id=20098 Сервер стоит на убунте, это не поставить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 11:08:44 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37477148&tid=1465381]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
198ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 490ms |

| 0 / 0 |
