Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z mysql_num_rows
Forum PHP.pl > Forum > Przedszkole
DerekDX
Witam,
tworze system logowania i mam pewien problem który według mnie nie powinien miec miejsca a ma.
Otoż w części skryptu zawierającego
  1. $wynik=mysql_query($zapytanie);
  2. $ile_wierszy=mysql_num_rows($wynik);
  3. if($ile_wierszy == 1)
  4. {


pojawaia sie błąd o treści

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in

oto caly skrypt
  1. <?php
  2. require("adm_konfiguracja.php");
  3. $login = $_POST['login'];
  4. $password = $_POST['password'];
  5. $jeden = 1;
  6. $polaczenie=mysql_connect($host,$user,$haslo);
  7. mysql_select_db('$baza',$polaczenie);
  8.  
  9. if ($_POST['submit'])
  10. {
  11. $zapytanie="select*from users where login='$login' "." and password=sha1('$password')";
  12. $wynik=mysql_query($zapytanie);
  13. $ile_wierszy=mysql_num_rows($wynik);
  14. if($ile_wierszy == 1)
  15. {
  16. $wiersz=mysql_fetch_assoc($wynik);
  17. session_register("USERNAME");
  18. session_register("USERID");
  19. $_SESSION['USERNAME']=$wiersz['login'];
  20. $_SESSION['USERID']=$wiersz['user_id'];
  21. echo 'zalogowany';
  22. }
  23. else
  24. {
  25. echo 'nie zalogowany';
  26. }
  27. }
  28. ?>
  29.  
  30. <form action="index1.php" method="post">
  31.  
  32. <table border=0>
  33. <tr><td width=100>Login</td><td style=width:200px><input type="text" name="login"></td></tr>
  34. <tr><td width=100>Hasło</td><td style=width:200px><input type="password" name="password"></td></tr>
  35. <tr><td width=100></td><td><input type="submit" name="submit" value="Zaloguj"></td></tr>
  36. </table>
  37. </form>



Skrypt ma wykonac petle jezeli ilosc zwracanych wartosci przez baze danych bedzie rowna 1
nospor
Masz blad zapytania.
Jak sobie radzić z analizą takich bledow masz napisane tu:
Temat: Jak poprawnie zada pytanie
DerekDX
ok wlączylem opcje wyswietlania wszystkich błędów poprawiłem (tak myśle zapytanie mysql) na
  1. $zapytanie="select*from users where login='$login' and password=sha1('$password')";


i teraz moj skrypt wyglada tak:
  1. <?php
  2. ini_set('display_errors','1');
  3. require("adm_konfiguracja.php");
  4. $login = $_POST['login'];
  5. $password = $_POST['password'];
  6. $polaczenie=mysql_connect($host,$user,$haslo);
  7. mysql_select_db('$baza',$polaczenie);
  8.  
  9. if ($_POST['submit'])
  10. {
  11. $zapytanie="select*from users where login='$login' and password=sha1('$password')";
  12. $wynik=mysql_query($zapytanie);
  13. $ile_wierszy=mysql_num_rows($wynik);
  14. if($ile_wierszy == 1)
  15. {
  16. $wiersz=mysql_fetch_assoc($wynik);
  17. session_register("USERNAME");
  18. session_register("USERID");
  19. $_SESSION['USERNAME']=$wiersz['login'];
  20. $_SESSION['USERID']=$wiersz['user_id'];
  21. echo 'zalogowany';
  22. }
  23. else
  24. {
  25. echo 'nie zalogowany';
  26. }
  27. }
  28. ?>
  29.  


i nadal w 15 lini wyskakuje błąd:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in [ściezka do pliku]
nospor
Miales wyswietlic błąd zapytania. Nie zrobiles tego. W link masz o tym bardzo wyraźnie wspomniane. Przeczytaj więc go jeszcze raz bardzo dokladnie. Tam są proste informacje napisane po polsku więc nie powinienes miec wiekszych problemow ze zrozumieniem tego
set4812
A co pokazuje bład??
DerekDX
no tak sorry.
błąd bazy:No database selected

ale tu mam przeciez wybrana baze danych:

  1. $polaczenie=mysql_connect($host,$user,$haslo);
  2. mysql_select_db('$baza',$polaczenie);


zmienna pochodza z kliku konfiguracyjnego zawierającego:
  1. <?php
  2. $host="localhost";
  3. $user="root";
  4. $haslo="root";
  5. $baza="agencja";
  6. ?>
nospor
nie: '$baza'
a: $baza

Lektura OBOWIĄZKOWA dla Ciebie:
http://pl.php.net/manual/pl/language.types.string.php
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.