![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witajcie...
piszę małą aplikację i chciałem w jakiś "wygodny" sposób filtrować dane które trafiają do bazy (głównie mysql_real_escape_string). Ale napotkałem na mały problem, a mianowicie: I oczywiście metoda escape (przykładowa): Wynik jaki dostaniemy: No i wszystko ładnie... ale chciałbym wprowadzić pewną elastyczność - czyli różną ilość argumentów. Próbowałem robić coś w tym stylu (kod #1 jest taki sam - zmiana jedynie kodu metody) Ale nie za bardzo to działa ![]() Nie bardzo w ogóle wiem czy to możliwe ![]() Pozdrawiam, EDIT: Można by zawsze ustawić 30 argumentów dla f-cji... i każy jako opcionalny, ale to nie jest za ciekawa wersja ![]() Ten post edytował Crozin 11.08.2007, 22:46:03 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.07.2004 Skąd: z neostrady Ostrzeżenie: (0%) ![]() ![]() |
func_get_args - zwraca zawsze kopie argumentu funkcji
Zasadniczo, wg mojej wiedzy nie ma skutecznego rozwiązania. Można kombinować:
Ale to nie zadziała dla zmiennych lokalnych funkcji. Znalazłem jeszcze takie rozwiązanie:
Ale to raczej też nie zachwyca ![]() Ten post edytował akubiczek 12.08.2007, 08:28:12 -------------------- pozdrawiam, Adam Kubiczek
kubiczek.eu |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Pomysł tak szybko jak wymyśliłem, równie szybko porzuciłem
![]() Poprostu często używam/będę używać danych w taki sposób: Kod zmienna='test"test' Dodatkowo zrobilem mały test wydajności tutaj jakies zapytanie - zmienna przyjmuje wartosc test\"test tutaj dalsze operacje... ale niestety zmienna 'zmienna' ma jakies krzaczki, ktorych nie chce;) ![]() $set_to_zero przy 1000 powtórzeń - średnio równa sekunda ![]() zwykla f-cja z trzeba arg, robiąca to samo - średnio 0.0003sekundy (chociaż muszę zaznaczyć, że w chwili testów komuter "ledwo żył") Pozostaje pisanie za każdym razem ręcznie $db->escape() ale przecież nie będę szczędził klawiszy dla bezpieczeństa ![]() Pozdrawiam, |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz, po prostu, przekazywać argumentów jako tablicy przekazywanej przez referencję?
Poza tym nie radzę używać funkcji create_function - create_function() is not your friend |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2025 - 08:32 |