![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Witam.
Przerzucam projekt z MySQL na PDO (a później na całkowity OOP). Czy istnieje funkcja w PDO wykonująca takie samo zadanie jak mysql_real_escape_string od MySQL? Jeśli nie to czy mogę jej używać z PDO? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Masz przecież PDO::quote() - jak byk w manualu wypisane. Tylko po co Ci to, skoro PDO umożliwia korzystanie z Prepared Statements?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
A da się coś bez apostrofów na początku i końcu? Chcę wyrzucić specjalne znaki z loginu przy rejestracji i logowaniu. Przy logowaniu z quote() komunikat "Niepoprawny login lub hasło."
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
No nie, elementarz mamy wyjaśniać? Poczytałeś w ogóle jakieś kursy, dokumentację?
Śmiem twierdzić, że nie. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Tak. Dobra walić to.
1. Czy zwykłe:
Wystarczy? $login to po prostu $_POST['login']; 2. Jaka jest różnica w bezpieczeństwie/szybkości zastosowania znaków zapytania jako parametrów między zastosowaniem nazwanych parametrów (:login)? 3. Jak odnieść się do wyników zapytania w execute? Np. taki rowCount(). Gdy mam jakąś zmienną przed $pre -> execute to mam błąd Ten post edytował vegeta 27.06.2011, 20:10:24 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Wystarczy? $login to po prostu $_POST['login']; I gitara. ![]() Cytat 2. Jaka jest różnica w bezpieczeństwie/szybkości zastosowania znaków zapytania jako parametrów między zastosowaniem nazwanych parametrów (:login)? Chyba tylko różnica w wygodzie... Mając same znaki zapytania musisz pilnować kolejności, a gdy parametry są nazwane - możesz odwoływać się jak do hashtablicy. Cytat 3. Jak odnieść się do wyników zapytania w execute? Np. taki rowCount(). A przeglądałeś przykłady z manuala? Cytat Gdy mam jakąś zmienną przed $pre -> execute to mam błąd Błędów może być tysiące. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Jest jakaś funkcja sprawdzająca, czy PDO przy Select zwróciło pusty wynik czy muszę robić zawsze rowCount()? Mam taki kod i if zawsze się sprawdza, więc nie mogę sie zarejestrować.
Ten post edytował vegeta 27.06.2011, 23:39:37 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A Ty chociaż sprawdzileś co po wykonaniu zapytania znajduje się w pre1? :/ Noż podstawy debugu i chwila zerknięcia w manual :/
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Pre przy błędzie zwraca mi np.
Kod Catchable fatal error: Object of class PDOStatement could not be converted to string .Jeśli rejestruję się prawidłowo to nic nie wyświetla echo $pre1 $pre2 i 3 Zrobiłem to tak:
Cytat Masz przecież PDO::quote() - jak byk w manualu wypisane. Tylko po co Ci to, skoro PDO umożliwia korzystanie z Prepared Statements? quote() daje na początku i na końcu ciągu znaków apostrof. Prepare nie (przykład powyżej), ale nie daje również slashów przy apostrofach wpisanych z formularza i w bazie jest identyczny nick. Przykładowo: wpisuję teste'rek - w bazie mam teste'rek. Czy muszę napisać funkcję w preg_match, w której dam wszystkie dozwolone znaki do loginu (A-Z, a-z, 0-9, -, _) a loginy z innymi znakami wywalać i dać stosowny komunikat? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:38 |