Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z PDO
Forum PHP.pl > Forum > Przedszkole
Osth
Tak jak w temacie.

Jeżeli mam funkcję zaloguj(); to wyskakuje mi błąd
Cytat
Fatal error: Call to a member function prepare() on a non-object


a jeżeli zaloguj($db) to wyskakuje:
Cytat
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `id` = '(jakieś id)' AND `password` = '(jakieś hasło)''


Kod:
  1. <?
  2.  
  3. include 'config.php';
  4. global $db;
  5.  
  6. $zalogowany = $_SESSION['login'];
  7.  
  8. if(empty($_GET)) { index(); }
  9. if($_GET['cmd'] == 'zaloguj') { zaloguj($db); }
  10.  
  11.  
  12. function index() {
  13.  
  14. if($zalogowany == 'y') { panel(); }
  15. else {
  16. echo'<form action="login.php?cmd=zaloguj" method="POST">
  17. <input type="text" name="id"><br>
  18. <input type="password" name="password"><bR>
  19. <input type="submit"><br>';
  20. }
  21. }
  22.  
  23. function zaloguj($db) {
  24.  
  25. $stmt = $db -> prepare('SELECT id, password WHERE `id` = :id AND `password` = :password');
  26. $stmt->bindValue(':id', addslashes(htmlspecialchars($_POST['id'])), PDO::PARAM_INT);
  27. $stmt->bindValue(':password', addslashes(htmlspecialchars($_POST['password'])), PDO::PARAM_STR);
  28. $stmt->execute();
  29.  
  30. foreach ($stmt as $r) {
  31. $id_check = $r['id'];
  32. $password_check = $r['password'];
  33. }
  34.  
  35. if ($_POST['id'] == $id_check && $_POST['password'] == $password_check) {
  36. $_SESSION['login'] = 'y';
  37. print 'Zostałeś zalogowany.<br><a href="index.php">Index</a><br>';
  38. }
  39. else { print 'Podałeś złe dane.'; }
  40.  
  41. }
  42.  
  43. ?>
athei
SELECT id, password FROM tabela WHERE
Osth
Właśnie miałem pisać, żezauważyłem to wreszcie i skrypt śmiga elegancko biggrin.gif

Temat do zamknięcia wink.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.