Forum Webscript.Ru
Общие => Базы данных => Тема начата: Evgeny от 25 Ноября 2002, 19:16:25
-
Подскажите пожалуйста, как можно в "защитить" запрос от пользовательского ввода символов вроде \', " и пр.
Большое спасибо.
-
addslashes()
mysql_escape_string()
-
placeholders
-
странно, но у меня SQL выдаёт ошибку при запросе:
select * from table1 where (field1 LIKE \'AAA\\\'BBB\')
БД у меня - Informix.
Чем же мне эту кавычку заменить?
-
Evgeny
Попробуй вот так
select * from table1 where field1 LIKE "AAA\\\'BBB"
-
или вот так:
select * from table1 where (field1 LIKE \'AAA\'\'BBB\')
-
AlieN
Попробуй вот так
select * from table1 where field1 LIKE "AAA\'BBB"
Это понятно, но ведь пользователь может ввести оба варианта кавычек :(
Ведь должна быть возможность как-то заменить этот символ. Кодом например, или специальной последовательностью символов...
-
htmlspecialchars($text,ENT_QUOTES);
-
Evgeny
ты мой вариант проверял? В некоторых субд (sybase, mssql, interbase насколько я знаю) кавычки экранируются второй кавычкой, то есть
select * from table1 where (field1 LIKE \'AAA\'\'BBB\')
там 2 одинарные кавычки посередине
-
Макс
Большое спасибо, заработало.
Не заметил, что это две одинарные кавычки были.