Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] PDO fetch = false
Forum PHP.pl > Forum > Przedszkole
MESSIAH :)
Zaczynam zabawę z PDO i mam już na samym początku małe problemy.
  1. $nazwauzytkownika = $_POST['username'];
  2. $haslo = $_POST['hasło'];
  3.  
  4.  
  5. try {
  6. if ($nazwauzytkownika && $haslo) {
  7. $db = new PDO('mysql:host=localhost;dbname=username;charset=UTF8','root','');
  8. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  9. $stmt = $db->prepare(
  10. "SELECT * FROM `so31349641` WHERE `uzytkownik` = ':username' "
  11. );
  12. $stmt->bindValue(':username', $nazwauzytkownika, PDO::PARAM_STR);
  13. $stmt->bindValue(':haslo', $haslo, PDO::PARAM_STR);
  14. $stmt->execute();
  15. $row = $stmt->fetch();
  16.  
  17. $ja = $stmt->fetch(PDO::FETCH_ASSOC); //$ja: false
  18. }catch (PDOException $e) {
  19. echo $e->getMessage();
  20. };

Jak widać w powyższym $ja zwraca false. Co jest nie tak?
Pyton_000
':username'
Przy bindowaniu nie używa się ' i "
KsaR
Cytat(MESSIAH :) @ 13.07.2015, 21:39:31 ) *
Zaczynam zabawę z PDO i mam już na samym początku małe problemy.
  1. $nazwauzytkownika = $_POST['username'];
  2. $haslo = $_POST['hasło'];
  3.  
  4.  
  5. try {
  6. if ($nazwauzytkownika && $haslo) {
  7. $db = new PDO('mysql:host=localhost;dbname=username;charset=UTF8','root','');
  8. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  9. $stmt = $db->prepare(
  10. "SELECT * FROM `so31349641` WHERE `uzytkownik` = ':username' "
  11. );
  12. $stmt->bindValue(':username', $nazwauzytkownika, PDO::PARAM_STR);
  13. $stmt->bindValue(':haslo', $haslo, PDO::PARAM_STR);
  14. $stmt->execute();
  15. $row = $stmt->fetch();
  16.  
  17. $ja = $stmt->fetch(PDO::FETCH_ASSOC); //$ja: false
  18. }catch (PDOException $e) {
  19. echo $e->getMessage();
  20. };

Jak widać w powyższym $ja zwraca false. Co jest nie tak?


Tu masz blad
WHERE `uzytkownik` = ':username' "

Powinno byc bez apostrofow:
WHERE `uzytkownik` = :username"


###
$row = $stmt->fetch();

$ja = $stmt->fetch(PDO::FETCH_ASSOC); //$ja: false
####
Juz raz pobierasz, i tu powinien byc glowny blad.

Zrob raz.
MESSIAH :)
Ok pomogło.
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.