Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SQL i apostrofy
-Gość_Adam-
post
Post #1





Goście







Wysylajac zapytanie do bazy danych standardowo piszemy ciagni znakow miedzy ' ' lub " " a w przypadku liczb pomijamy te apostrofy i cudzyslowy. Moje pytanie brzmi, dlaczego w taki wypadku pisac np tak:

  1. INSERT
  2. INTO tabela
  3. (kolumna1, kolumna2) VALUES (345, 'string')
skoro mozna to rowniez dobrze zapisac w taki sposob:
  1. INSERT
  2. INTO tabela
  3. (kolumna1, kolumna2) VALUES ('345', 'string')


Jaka jest roznica w tych sposobach i ktory jest lepszy? Pytam bo pisze klase do obslugi bazy danych i zastanawiam sie czy warto rozpoznawac i dodawac apostrofy tylko do stringow czy pojsc na latwizne i wstawiac je do kazdej wartosci.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
slash12345
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 21.04.2006

Ostrzeżenie: (0%)
-----


W skryptach dynamicznie wstawiających dynamicznie dane do zapytań, lepiej z powodów bezpieczeństwa używać apostrofów nawet w liczbach (inna sytuacja zachodzi gdy chcemy użyć mySQL jako kalkulatora (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ).
Wiem że to dość głupie, ale użytkownik mógłby podstawić ciąg tekstowy jako liczbę i np. użyć jednej z funkcji wbudowanych w mySQL, albo ostatecznie włamać się do systemu.
Zabezpieczajcie się ludzie!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 13:35