Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Stosowanie bindparam
Forum PHP.pl > Forum > Przedszkole
miras
Mam problem z zastosowaniem tej funkcji w moim kodzie.. dokładniej mówiąc nie wiem, w którym miejscu to wstawić. Możecie podać przykład?

  1. public function login($login, $password) {
  2. include("language/pl.php");
  3. if (!empty($_POST['spr'])) {
  4. $this->login = $login;
  5. $this->password = md5($password);
  6. $this->check_date = $this->pdo->prepare("SELECT * FROM users WHERE mail=? AND haslo=? LIMIT 1");
  7. $this->check_date->execute(array($this->login, $this->password));
  8. $this->check = $this->check_date->fetchAll(PDO::FETCH_ASSOC);
  9.  
  10. if (!empty($this->check)) {
  11. $_SESSION['reyblau_login']=$this->login;
  12. header("Location: index.php");
  13. } else { return $lang[3]; }
  14. }
  15. }
ziqzaq
Patrzyłeś do manuala? Przecież tam masz niejeden przykład PDOStatement::bindParam().
Już używasz parametrów zapytań, tylko że domyślnie traktowane są jako typ PDO::PARAM_STR (PDOStatement::execute()):
  1. $this->check_date->execute(array($this->login, $this->password));
!*!
Cytat(miras @ 18.08.2013, 22:53:04 ) *
dokładniej mówiąc nie wiem, w którym miejscu to wstawić. Możecie podać przykład?


http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO#Podpinanie
miras
ehh.. no nadal nie moge załapać... dodałem parametr do bindPadam i nadal nie działa, pytanie - czy bez bindParam ten kod nie jest wystarczająco bezpieczny?

  1. public function login($login, $password) {
  2. include("language/pl.php");
  3. if (!empty($_POST['spr'])) {
  4. $this->login = $login;
  5. $this->password = md5($password);
  6. $this->check_date = $this->pdo->prepare("SELECT * FROM users WHERE mail=? AND haslo=? LIMIT 1");
  7. $this->check_date->execute(array(bindParam($this->login, $this->password, PDO::PARAM_STR, 12)));
  8. $this->check = $this->check_date->fetchAll(PDO::FETCH_ASSOC);
  9.  
  10. if (!empty($this->check)) {
  11. $_SESSION['reyblau_login']=$this->login;
  12. header("Location: index.php");
  13. } else { return $lang[3]; }
  14.  




ziqzaq
W kodzie, który podajesz nie ma wywołań bindParam(). Cały czas pokazujesz nam kod niezmodyfikowany. Pokaż kod, który próbowałeś i na pewno ktoś da ci wskazówki jak to ogarnąć. wink.gif
Próbowałeś zastosować się do gotowych przykładów z linków wklejonych wcześniej?
Crozin
Kod z Twojego pierwszego postu jest w pełni poprawny (przynajmniej w kontekście użycia prepared statements). Execute(array(...)) to po prostu skrócona wersja serii bindParam().
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.