Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]pseudo-sterownik do obsługi bazy danych - problem
Czapla
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 3
Dołączył: 10.12.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Pisze sobie pseudo sterownik do obsługi bazy danych narazie mam tyle
  1. <?php
  2. class bazaMySQL
  3. {
  4.  var $BazaPolaczenie;
  5.  var $BazaWynik;
  6.  var $BazaHost;
  7.  var $BazaNazwa;
  8.  var $BazaUzytkownik;
  9.  var $BazaHaslo;
  10.  var $BazaWiersz;
  11.  
  12.    function __construct ($b_Host, $b_Nazwa, $b_Uzytkownik, $b_Haslo)
  13.    {
  14.    $this->BazaHost   = $b_Host;
  15.    $this->BazaNazwa = $b_Nazwa;
  16.    $this->BazaUzytkownik   = $b_Uzytkownik;
  17.    $this->BazaHaslo   = $b_Haslo;
  18.    $this->BazaPolaczenie = mysql_connect( $this->BazaHost, $this->BazaUzytkownik, $this->BazaHaslo );
  19.      mysql_select_db( $this->BazaNazwa, $this->BazaPolaczenie ) || die ("Baza danych wygenerowała błąd: ".mysql_error());
  20.    }
  21.  
  22.   function wykonajZapytanie ($b_SQL)
  23.    {
  24.    $this->BazaWynik = mysql_escape_string($b_SQL);
  25.    $this->BazaWynik = mysql_query ($b_SQL, $this->BazaPolaczenie);
  26.    $this->BazaWiersz = mysql_fetch_array( $this->BazaWynik );
  27.        return true;
  28.    return false;
  29.    }
  30.  
  31.   function kolejnyWiersz ()
  32.    {
  33.    $this->BazaWiersz = mysql_fetch_array( $this->BazaWynik );
  34.    if (empty ($this->BazaWiersz))
  35.        return false;
  36.    return true;
  37.    }    
  38.  
  39.   function pokazWiersz ($b_Wiersz)
  40.    {
  41.    if ( isset ($this->BazaWynik))
  42.        {        
  43.        $wiersz = $this->BazaWiersz[$b_Wiersz];
  44.        return $wiersz;
  45.        }
  46.    }
  47.  
  48.    function pokazStatystyke ($b_SQL)
  49.     {
  50.     return mysql_num_rows($this->BazaWynik[$b_SQL]);
  51.     }
  52.  
  53.   function  __destruct() {
  54.       mysql_close($this->BazaPolaczenie);
  55.       print "<br>Zakończono połączenie z baza danych.";
  56.    }
  57.  }
  58. ?>


Sposób wywołania
  1. <?php
  2. require "sterownikidefinicja_baza_danych.php";
  3. require "sterownikisterownik_baza_danych.php";
  4.  
  5. $polaczenie = new bazaMySQL($host,$baza,$uzytkownik,$haslo);
  6.  
  7. $zapytanie = "SELECT id_test, test FROM test";
  8.  
  9. $polaczenie->wykonajZapytanie($zapytanie);
  10. $polaczenie->pokazStatystyke($zapytanie);
  11.  
  12. do {
  13. print ($polaczenie->pokazWiersz("test"));
  14. } while ($polaczenie->kolejnyWiersz());
  15. ?>


1.Mam problem odnośnie metody pokazStatystyke(), chciałby wyświetlić liczbę rekordów ale zamiast tego otrzymuje błąd.
2.Co można było by tu zoptymalizować, napisać prościej, może wprowadzić modyfikatory dostępu, etc?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
dodałem return false

Ale false nie powie, że błędem jest brak połączenia z bazą, niepoprawne zapytanie, uwalona baza, czy jeszcze jakieś inne nieprawidłowości. Chyba w jakimś celu wymyślono wyjątki, nie?

Cytat
Błędów możesz mieć N!^N

A od kiedy to mysql_query" title="Zobacz w manualu PHP" target="_manual zwraca tablicę?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 21:29