Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] Kłopot ze zmianą hasła
Forum PHP.pl > Forum > Przedszkole
falfin
Witam. Nie moge dac sobie rady ze skonczeniem skryptu zmiany hasla.
Wyskakuje mi poniższy błąd:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\WebServ\httpd\PHP & MySQL\internetowa\zmiana_hasla.php on line 28

A oto skrypt:
  1. <?php
  2. // utworzenie krótkich nazw zmiennych
  3.  $stare_haslo = $_POST['stare_haslo'];
  4.  $nowe_haslo = $_POST['nowe_haslo'];
  5.  $nowe_haslo2 = $_POST['nowe_haslo2'];
  6.  
  7.  
  8.  
  9.  
  10. require('polaczenie.php');
  11. $zapytanie="update uzytkownik
  12. set haslo = sha1('$nowe_haslo') 
  13. where nazwa_uz='$nazwa_uz'
  14. and haslo = sha1('$haslo')";
  15.  
  16. $wynik = mysqli_query($mysql, $zapytanie);
  17.  
  18.  
  19. if (!$wynik)
  20. {
  21. $komunikat= '|Zmiana hasła nie powiodła się|';
  22. }
  23.  
  24. else
  25. {
  26.  
  27. if (mysqli_num_rows($wynik)>0) //JEZELI  JEST ZAREJESTROWANY
  28. {
  29. $komunikat= '| Hasło zmienione |';
  30. $_SESSION['komunikat']= $komunikat;
  31. }
  32. else
  33. {
  34. $komunikat= '|Podajesz błedne hasło';
  35. $_SESSION['komunikat']= $komunikat;
  36. }
  37. }
  38.  
  39.  
  40.  
  41.  
  42.  
  43. $_SESSION['komunikat']= $komunikat;
  44. @header("Location: index.php");
  45.  
  46.  
  47. ?>


Jeżeli macie jakiś pomysł piszczcie!
JaRoPHP
Stosujesz instrukcję UPDATE, dlatego powinieneś skorzystać z funkcji mysqli_affected_rows.
falfin
zmieniłem na mysqli_affected_rows().
I teraz jest:
Warning: mysqli_affected_rows() expects parameter 1 to be mysqli, boolean given in C:\WebServ\httpd\PHP & MySQL\internetowa\zmiana_hasla.php on line 29
JaRoPHP
A zajrzałeś do linka, którego podałem?
Funkcja mysqli_affected_rows" title="Zobacz w manualu PHP" target="_manual, oczekuje parametru, będącego połączeniem z bazą danych, a nie wyniku zapytania:
Cytat
  1. <?php
  2. $link = mysqli_connect('localhost', 'user', 'password', 'world');
  3.  
  4. /* update rows */
  5. mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
  6. printf("Affected rows (UPDATE): %dn", mysqli_affected_rows($link));
  7. ?>
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.