Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]PDO, proste zapytanie
Forum PHP.pl > Forum > Przedszkole
Twist
  1. if(isset($_POST['login']) && isset($_POST['password'])){
  2.  
  3. try
  4. {
  5.  
  6. $pdo = new PDO('mysql:host=localhost;dbname=nazwa_bazy', 'uyser', 'haslo', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  7. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  8. $login = $_POST['login'];
  9.  
  10. $stmt = $pdo -> query("SELECT password FROM `users` WHERE `login` = ' " . $login . " ' ");
  11. while($row = $stmt -> fetch())
  12. {
  13. echo $row['password'];
  14. }
  15.  
  16. }
  17. catch(PDOException $e)
  18. {
  19. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  20. }
  21. }


czyli chce sprawdzic chce wyciagnac z bazy haslo dla loginu z $_POST['login'] Proszę o pomoc

EDIT: Poradziłem sobie w taki sposób:

  1. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  2. $login = $_POST['login'];
  3.  
  4. $stmt = $pdo -> query("SELECT password FROM `users` WHERE `login` = '".$_POST['login']."'" );
  5. while($row = $stmt -> fetch())
  6. {
  7. echo $row['password'];
  8. }
  9.  
  10. }
  11. catch(PDOException $e)
  12. {
  13. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  14. }
  15. }


Osiągnąłem pożądany efekt, ale czy dobrze to zrobiłem? smile.gif Czytałem, że lepiej stosować bindValue, ale nie wiem jak tego użyć do SELECT
uzi123
  1. /*
  2. preparujemy zapytanie
  3. ma ono zwykla skladnie sql
  4. zmienne dobrze jest poprzedzic :
  5. */
  6. $qu = $pdo -> prepare("SELECT password FROM users WHERE login = :log");
  7.  
  8. /*
  9. teraz musimy podstawic cos za zmienne
  10. pamietajmy aby podac typ zmiennej jako trzeci z parametrow
  11. */
  12. $qu->bindParam(':log', $login, PDO::PARAM_STR);
  13.  
  14. /*wykonjamy zapytanie */
  15. $qu->execute();
  16.  
  17. /*obrobmy wyniki
  18. ja lubie miec wyniki w tablicy, wiec ckorzystam z ->fetchAll() ale mozna skorzystac z innych rzeczy jak ->->fetch */
  19.  
  20. $result = $qu->fetchAll();
  21. print_r($result); //oczywiscie nie wypisuj hasla ;-)
Twist
Dzięki, przyda się na przyszłość smile.gif
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.