Как включить 'в форму ввода? - PullRequest
0 голосов
/ 14 июля 2010

Я просто понимаю, что в моих формах я не мог сохранить имя, как О'Брайан (оно сохранялось бы только как O, и 'Брайан будет обрезан).

Я использую Grails 1.2.2 с MySQL.

Есть ли простые способы разрешить вставку в БД? вместо того, чтобы изменять каждую форму и помещать замену html для этого символа?

Ответы [ 3 ]

4 голосов
/ 14 июля 2010

Если вставка в базу данных является проблемой, то вы можете использовать параметризованные запросы.В любом случае, это настоятельно рекомендуется, поскольку это позволяет избежать возможных угроз безопасности.

Представьте, что вместо ввода только символа кавычки пользователь вводит в форму "Brian '; DROP TABLE data"!

2 голосов
/ 14 июля 2010

используйте escape-символ, \

например, O \ 'Brian

См. http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html

Тем не менее, большинство слоев абстракции БД позволяют использовать параметризованные запросыкоторые делают это для вас

0 голосов
/ 14 июля 2010

Grails и его абстракция базы данных GORM должен справиться с этим за вас, если только вы сами не сохраняете его с помощью API более низкого уровня: s. Смотри документацию здесь .

Вам не нужно заменять такие символы самостоятельно, поэтому я предлагаю вам еще раз взглянуть на свой код и посмотреть, сможете ли вы определить, что может вызвать проблему. Я надеюсь, что вы можете найти простое решение, это не должно быть сложно с Grails: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...