![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 9.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wykonuję zapytanie funkcją mysql_query i zauważyłęm dziwną rzecz:
die("[zapytanie"]); wypisuje: Kod INSERT INTO contact (date, ip, useragent, autor, temat, tresc, kontakt, new) VALUES (1215471280, '192.168.1.102', 'Opera/9.23 (Windows NT 6.0; U; pl)', 'asd', 'test\'a\"b/c\\d', 'dsfaeafe', '', 1) wartość pola "temat" to htmlspecialchars($_POST['temat'],ENT_QUOTES); - jak widać są slashe przed speclajnymi znakami natomiast po wykonaniu mysql_query("[zapytanie]") w phpadminie mam wpis: Kod 11 1215471782 asd test'a"b/c\d dsfaeafe 192.168.1.102 Opera/9.23 (Windows NT 6.0; U; pl) 1 Gdzie się podziały moje slashe? Czy funkcja mysql_query automatycznie je usuwa i nie trzeba wywoływać stripslashes? Serwer www to krasnal (magic_quotes domyślnie włączone). |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Slashy potrzebujesz TYLKO przy wkladaniu danych do bazki [a konkretniej, do zapytania]. Chcesz miec w tytule znak '\', to w zapytaniu eskejpujesz ["jak widać są slashe przed speclajnymi znakami"] go backslashem: '\\', i bazka wstawi sobie jednego backslasha do danych.
Wiec przy wyciaganiu danych stripslashesz NIE uzywasz. Tak samo jak masz; echo "aa \\ bb"; ktore wypisze ci: 'aa \ bb' -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 9.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
No, rozumiem że baza zamieni \' na ' i \\ na \ ale w jednym miejscu jest \" a w rekordzie "
Ten post edytował Sil3nt 10.07.2008, 12:00:51 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
bo & to też znak specjalny. Chcesz mieć \&, to musisz \& zamienić na \\&
Innymi słowy mysql traktuje ten znak jako już escapeowany, więc się nie kłopocze drugim escapeowaniem. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 9.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:03 |