Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cudzysłów w zapytaniu SQL na polu liczbowym
Forum PHP.pl > Forum > Bazy danych > MySQL
rafalp
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ść?
nospor
1) Liczbe wkladaj jak liczbe a nie jak tekst
2) Cudzyslów wcale cię nie broni przed sqlinjection.
Crozin
3) Używaj PDO i jego prepared statements - to chroni przed SQLInjection.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.