Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Quote'ować wszystkie zmienne, czy tylko z zewnątrz?
Forum PHP.pl > Forum > Bazy danych > MySQL
Apocalyptiq
Do obsługi bazy MySQL używam biblioteki AdoDB. I tam mam specjalną funkcję do Quote'owania zmiennych (wrzucenie w odpowiednie apostrofy, dodanie slashów przed ewentualnymi apostrofami/cudzysłowami w zmiennej), które podajemy w zapytaniu SQL. I czy Quotować tylko te zmienne, na które wpływ mają użytkownicy - np. formularz logowania, rejestracji, zmienne z $_GET, czy też np. id pobrany z bazy? Wiem że pierdółkowate pytanie, ale nie wiem czy niepotrzebnie zawsze ładuje Quote smile.gif Np:
$db->GetRow('SELECT * FROM players WHERE id='.$db->Quote($plrId));
gdzie zmienną $plrId pobieram z bazy.
Po prostu chce zapytać, czy np. takie zapytanie: 'SELECT * FROM players WHERE id='.$id jest poprawne smile.gif Bo np. w HTML wartości podaje się w cudzysłowach - bo tak jest poprawnie. A nie wiem jak to jest w MySQL smile.gif
webdice
Jeśli masz pewność że dane pobierane z bazy są poprawne nic musisz ich sprawdzać.
Apocalyptiq
Nawet nie zaopatrzać je w apostrof jakiś?
I jaki znak do zaznaczania wartości obowiązuje w MySQL: cudzysłów (" "), apostrof (' '), czy to na guziku tyldy (` `)? np. 'SELECT * FROM players WHERE nazwisko=Kowalski' - to zapytanie jest poprawne, czy należy słowo Kowalski zaznaczyć jakimś apostrofem?
'SELECT * FROM players WHERE id=1' - liczby (rodzaj zmiennej: int) opatrujemy jakimś apostrofem czy nie?

Sory za takie pierdoły, ale zacząłem wykonywać zlecenia i chce znać wszystkie wymogi MySQL smile.gif
Aha - i jak radzicie, lepiej jest samemu wysyłać ręcznie zapytania do SQL, czy używając jakiejś biblioteki? Ja używam AdoDB i naprawde spoko mi się na tym pracuje - z tego co czytałem o niej, ma kupe funkcji, a ja korzystam tylko z kilku - GetAll - pobranie całego wyniku zapytania do tablicy, GetRow - pobranie pierwszego wiersza do tablicy, GetOne - pobranie pierwszego rekordu do zmiennej, Execute/Query (nie wiem czym te funkcje się różnią) - wykonywanie działań na bazie: INSERT, UPDATE, DELETE, Insert_ID - pobranie ID ostatnio dodanego rekordu do bazy. Może ktoś używał kiedyś tej biblioteki? smile.gif Dla mnie jest bardzo wygodna, ale ma aż 2MB - może dlatego że obsługuje ze 20 rodzajów baz.
mrok
Jest AdoDBlite - ale nie rozwijana od pewnego czasu
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.