![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
mam 2 pytanka..
1 . ponizej mam zapytanie dodające dane do bazy i.. czy jest jakaś różnica w zapytaniach jakie dam 'ciapki' (IMG:style_emoticons/default/questionmark.gif) np że dla stringów inaczej a dla INT inaczej . Dodatkowo czy w zapytaniu select jak dam WHERE `pole` = 0 jest różnica między WHERE `pole` = '0' (IMG:style_emoticons/default/questionmark.gif) dodam tylko że `pole` jest INTem.
2. jakiej funkcji najbezpieczniej używać aby na czacie wpisując np <span>tekst</span> lub jakiś kod php nie wykonał się tylko wydrukowało to co się wprowadziło. z góry dziękuje |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
1. Jak pole jest INT to lepiej nie dawać wartości w apostrofy. Jeśli jest w apostrofach to traktuje jako string i musi zrobić konwersję.
2. htmlspecialchars Ten post edytował PanGuzol 27.12.2010, 19:19:48 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
1) konwertacja = dłuższy czas wykonywania zapytania (IMG:style_emoticons/default/questionmark.gif)
2) używam htmlspecialchars ale czy to na pewno bezpieczna metoda ? i jeszcze jedno.. jeżeli zmienna przechodzi przez funkcje ABS to niezależnie czy pochodzi z formularza , obliczeń muszę używać mysql_real_escape_string (IMG:style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Jak cos jest INTem to ma to byc wkladane jako INT. Koniec kropka. Wkladacie w ciapkach od początku i się uczycie złych nawyków.
Przed wlozeniem takiego inta, zrzutuj sobie daną zmienną do inta dla pewnosci i po sprawie $pid = (int)$pid; 2) jak powiedziano htmlspiecialchars(). Ale to przed wyswietleniem a nie przy wkladaniu do bazy, |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
1.czyli jeśli zmienna jest typu INT to nie muszę dawać mysql_real_escape_string ?
2. w zmiennej pochodzącej z formularza jest treść wiadomości , przy zapisie nie muszę tego w żaden sposób filtrować tylko przy wyświetleniu używać htmlspecialchars (IMG:style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Tylko pod warunkiem ze zrzutujesz ją wpierw na inta tak jak ci napisalem
2) W najprostrzej postaci tak. Ale filtrowanie jakies wstepne zawsze moze byc- wszystko zalezec bedzie od Twoich potrzeb. Jesli z zalozenia, nie bedziesz pozwalal na zadne tagi html, to rob od razu strip_tags. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
a czy zamiast funkcji INT nie wystarczy funkcja ABS ?
używając INT max wartość to ~2,1mld a ja niejedno krotnie operuje na większych liczbach dodatkowo musi być dodatnie no i oczywiście używam funkcji CEIL do zaokrąglania tylko czy to odpowiednia metoda ? Ten post edytował Ulysess 29.12.2010, 19:40:52 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
abs sluzy do wartosci bewzględnej. Jak nie chcesz przyjmować liczb ujemnych to mozesz uzywac abs.
Jak ci INT za malo, to sprawdzaj po prostu przy pomocy is_numeric() i jak cos nie jest liczbą numeryczną to wal bledem |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:45 |