Страница 1 из 1

Кто поможет с SQL в MS Access?

Добавлено: 20 мар 2003, 16:56
Seaman
Как можно безболезненно ввести текстовую строчку, которая содержит слова с апострофами, например doctor's или assistant's и т.д. через SQL команду типа:
"UPDATE table SET column = '".$text."' WHERE something = '".$smth."';"?
Во всех строках все работает прекрасно, но в одном месте в переменную $text загружают строчку с вышеуказанными словами ... и все, Access driver даёт сбой.
Подскажите, пожалуйста, как с этим можно побороться.
Заранее благодарен.

Добавлено: 20 мар 2003, 17:30
папа Карло
replace "'" => "''"

Добавлено: 20 мар 2003, 21:41
pank
better repace ' for ` более похожие

Добавлено: 20 мар 2003, 23:09
папа Карло
pank писал(а):better repace ' for ` более пожие
прелесть. :) тебе бы требования писАть :lol:

Добавлено: 21 мар 2003, 07:01
pank
А что не понравилось то?

Добавлено: 21 мар 2003, 07:31
Seaman
папа Карло писал(а):replace "'" => "''"
pank писал(а):better repace ' for ` более пожие
[trn]Nichego ne pomogaet, esli ser'ezno.
Podkljuchenie k Aksessu idet cherez Perl i v vvodimoj stroke polno tochek, zapjatyh i apostrofov.
Cherez Aksess naprjamik vse tip-top, a vot cherez Perl ... v 2000 sluchaev prekrasno, kogda net vyshe ukazannogo, a v pare desjatkov ta zhe samaja stroka daet oshibku.
Est' li ser'eznye predlozhenija po wtomu voprosu?[/trn]

вообще-то

Добавлено: 21 мар 2003, 17:03
не местный
вообще-то надо дублировать кавычку, то есть заменить одну на две одинаковые:

Код: Выделить всё

$text="don''t"
UPDATE table SET column = '".$text."'

Добавлено: 21 мар 2003, 18:39
папа Карло
perl?

Код: Выделить всё

$text =~ s/\'/\'\'/g;

Добавлено: 22 мар 2003, 16:07
Seaman
папа Карло писал(а):perl?

Код: Выделить всё

$text =~ s/\'/\'\'/g;
не местный писал(а):

Код: Выделить всё

$text="don''t" 
UPDATE table SET column = '".$text."'
Вот теперь работает, большое спасибо, ребята.
Век живи - век учись!

Добавлено: 23 мар 2003, 10:44
не местный
[quote="Seaman]Век живи - век учись![/quote]

по-нашему будет RTFM
:wink: