Witam. Ćwiczę połączenie z bazą danych za pomocą PDO, połączenie zostało ustanowione, lecz mam pewien problem a mianowicie :
  1. <?php
  2. require_once 'controllers/db.php';
  3. $send = filter_input(INPUT_POST, 'send', FILTER_SANITIZE_STRING);
  4. if(isset($send))
  5. {
  6. $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
  7. $password = filter_input(INPUT_POST, 'pass', FILTER_SANITIZE_STRING);
  8. if($name === "" || $password === "")
  9. {
  10. header('location: index.php');
  11. }
  12. else
  13. {
  14. try
  15. {
  16. $baza = new PDO('mysql:host='.$host.';dbname='.$db_name.';charsetUTF8', $user, $pass,
  17. PDO::ATTR_EMULATE_PREPARES => false,
  18. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
  19. ) );
  20. $zapytanie = $baza->query("SELECT * FROM gracze WHERE nazwa =".$name);
  21. $gracz = $zapytanie->fetch();
  22. $_SESSION['nazwa'] = $gracz['nazwa'];
  23. $_SESSION['haslo'] = $gracz['haslo'];
  24. $_SESSION['mail'] = $gracz['mail'];
  25. $_SESSION['id'] = $gracz['id'];
  26. } catch (Exception $err)
  27. {
  28. exit('Wystąpił błąd: '.$err->getMessage());
  29. }
  30.  
  31.  
  32. header('location: game/game.php');
  33. }
  34. }
  35. else
  36. {
  37.  
  38. }


Chcę pobrać wszystkie informacje z danego rekordu gdzie nazwa jest równa zmiennej $name

  1. $zapytanie = $baza->query("SELECT * FROM gracze WHERE nazwa =".$name);


Czyli ta linijka. Jeżeli jest to zapisane w ten właśnie sposób to wyrzuca mi taki błąd:
Wystąpił błąd: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Graff' in 'where clause'
Próbowałem na wiele sposobów, tak wiem, że jest tu poradnik na temat PDO jednakże jak są powstawiane Pazurki tak samo jak w poradniku, to wtedy zapytanie nie wykonuje się wcale.