Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt PHP obsługujący baze danych - problem
Forum PHP.pl > Forum > PHP
pawson
Witam, zalożyłem pewną strone internetową i baze danych. Chciałbym aby w momencie gdy jedna z tabel (loginy) tej bazy będzie pusta, na stronie wyświetlił sie stosowny komunikat. Oto co napisałem:

Kod
   <?php
   //funkcja do łączenia z bazą
       function lacz_bd()
       {  
         $db = new mysqli('sql1.wmfreehost.com', 'baza_danych', 'haslo', 'baza_danych');  
           if (! $db)   //10
             return false;
          $db->autocommit(TRUE);
          return $db;
       }
  
   //połaczenie z bazą
       $db = lacz_bd();
  
   //zapytanie sql do bazy określające jakie dane mają zostać pobrane
       $zapytanie = "SELECT COUNT(id) FROM loginy";
  
   //pobranie wyniku zapytania
       $ile_loginow = $db->query($zapytanie);
  
   if ($ile_loginow == 0)
     {
       echo '<center><font size = 4 color = red><blink>MOJA INFORMACJA</blink></font></center>
   ';
     }
  
   ?>


W tabeli loginy są trzy pola: id, login, haslo. Niestety komunikat pojawia sie gdy tabela jest i pusta i zapełniona sciana.gif
Pomoże ktoś? Z góry dzięki! cool.gif
Spawnm
  1. <?php
  2. $zapytanie = "SELECT COUNT(id) FROM loginy";
  3.  
  4.   //pobranie wyniku zapytania
  5.       $ile_loginow = $db->query($zapytanie);
  6. ?>

zamień np na:
  1. <?php
  2. $zapytanie = "SELECT id FROM loginy";
  3.  
  4.   //pobranie wyniku zapytania
  5.       $ile_loginow = $db->query($zapytanie);
  6. $ile_loginow =mysql_num_rows($ile_loginow);
  7. //reszta
  8. ?>

num_rows zlicza ilość rekordów smile.gif
erix
Zamienił stryjek siekierkę na kijek; liczenie rekordów przez mysql_num_rows" title="Zobacz w manualu PHP" target="_manual jest bardziej czaso- i zasobożerne niż count w zapytaniu.

Cytat
W tabeli loginy są trzy pola: id, login, haslo. Niestety komunikat pojawia sie gdy tabela jest i pusta i zapełniona

Twój problem polega na tym, iż wykonujesz zapytanie, ale nie wyciągasz danych z jego wyniku. Rzutowanie na bool jakiejkolwiek niepustej tablicy zawsze zwróci true.
pawson
Pokombinowałem i działa świetnie, dzięki panowie!  cool.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.