Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Cudzysłów w zapytaniu SQL na polu liczbowym
rafalp
post
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


Czy jest jakaś różnica wydajnościowa pomiędzy stosowaniem przy zapytaniach o pole w formacie liczbowym cudzysłowia:
  1. SELECT * FROM tabela WHERE login_id = '1'

Używam ORM ale zaawansowane zapytania wykonuję czystym SQL-em i chciałem przyjąć w moim projekcie jednolitą regułę. Skłaniam się ku ich stosowaniu ponieważ gdybym zapomniał mapować zmienną z GET-a na (int) to zawsze dodatkowo cudzysłów ochroni mnie przed SQL Injection a bez tego zapytanie przyjęło by postać dowolną np:

  1. SELECT * FROM tabela WHERE login_id = 1 OR 2


Czy jednak cudzysłów jednak dobrze jest interpretowany przez silnik bazy i nie spowalnia zapytania?
Czy może standardy mówią też coś na ten temat czy jest całkowita dowolność?

Ten post edytował rafalp 6.11.2010, 10:55:27
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Liczbe wkladaj jak liczbe a nie jak tekst
2) Cudzyslów wcale cię nie broni przed sqlinjection.
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


3) Używaj PDO i jego prepared statements - to chroni przed SQLInjection.
Go to the top of the page
+Quote Post

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: 22.08.2025 - 13:59