Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] klasy - problem z przekazywaniem danych
matyskiewicz
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Witam. Piszę funkcję do łączenia się z bazą danych. Mam problem z przekazaniem zmiennej $db z punktu 1 do punktu 2.
  1. <?php
  2. class DB_MYSQL
  3. {
  4.    private $dbHost, $dbLogin, $dbPasswd;
  5.    
  6.    function connect($dbHost, $dbLogin, $dbPasswd)
  7.    {
  8.        $this -> host = $dbHost;
  9.        $this -> login = $dbLogin;
  10.        $this -> passwod = $dbPasswd;
  11.        
  12.        $db = @mysql_connect($this -> host, $this -> login, $this -> passwod); // punkt 1
  13.        if (!$db)
  14.        {
  15.            die('<p>Brak połączenia z serwerem. Komunikat błędu: '. mysql_error() .'</p>');
  16.            exit;
  17.        }
  18.    }
  19.  
  20.    function mysql_selectDb($dbTable)
  21.    {
  22.        $this -> table = $dbTable;
  23.  
  24.        $db_selected = mysql_select_db($this -> table ,$db); // 2
  25.        if (!$db_selected)
  26.        {
  27.            die('<p>Brak połączenia z tabelą. Komunikat błędu: '. mysql_error() .'</p>');
  28.               exit;
  29.        }
  30.    }
  31. }
  32.  
  33. $dbtest = new DB_MYSQL;
  34. $dbtest -> connect("xxx1", "xxx2", "xxx3");
  35. $dbtest -> mysql_selectDb("xxx4");
  36. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
matyskiewicz
post
Post #2





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Tak czytałem o tej klasie, lecz piszę swoją ponieważ chciałbym się nauczyć pisać klasy.
I tutaj napotkałem na kolejny problem:
  1. <?php
  2. class DB_MYSQL
  3. {
  4.    private $dbHost, $dbLogin, $dbPasswd, $db;
  5.    public $dane = array();
  6.    
  7.    function connect($dbHost, $dbLogin, $dbPasswd)
  8.    {
  9.        $this -> host = $dbHost;
  10.        $this -> login = $dbLogin;
  11.        $this -> passwod = $dbPasswd;
  12.        
  13.        $this -> db = @mysql_connect($this -> host, $this -> login, $this -> passwod);
  14.        if (!$this->db)
  15.        {
  16.            die('<p>Brak połączenia z serwerem. Komunikat błędu: '. mysql_error() .'</p>');
  17.            exit;
  18.        }
  19.    }
  20.  
  21.    function mysql_selectDb($dbTable)
  22.    {
  23.        $this -> table = $dbTable;
  24.        
  25.        $db_selected = @mysql_select_db($this -> table , $this->db);
  26.        if (!$db_selected)
  27.        {
  28.            die('<p>Brak połączenia z tabelą. Komunikat błędu: '. mysql_error() .'</p>');
  29.               exit;
  30.        }
  31.    }
  32. ################################################################################
  33. ###############################
  34. # część dopisana
  35. ################################################################################
  36. ###############################
  37.    function query($query)
  38.    {
  39.        $this -> query = $query;
  40.                
  41.        $result = @mysql_query($this -> query);
  42.        if (!$result)
  43.        {
  44.               die ('<p> Błędne zapytanie SQL. Komunikat błędu ' . mysql_error() .'</p>');
  45.            exit;
  46.        }
  47.                
  48.        if(mysql_num_rows($result)>0)
  49.              while($row = mysql_fetch_assoc($result))
  50.                $dane[] = $row;
  51.        }
  52.  
  53.  
  54. }
  55.  
  56. $dbtest = new DB_MYSQL;
  57. $dbtest -> connect("xxx", "xxx", "xxx");
  58. $dbtest -> mysql_selectDb("xxx");
  59. $dbtest -> query("SELECT * FROM test");
  60. echo 'id: '. $dane['id'];
  61. ?>

Dopisałem funkcję query. Z założenia ona ma pobrać dane i wpakować je w tablicę $dane[]. Kiedy starałem się wyświetlić je nie wyświetliły się żadne dane poza
  1. id:

Dlaczego nie pojawiaja się żadne dane?

Ten post edytował matyskiewicz 20.11.2008, 11:26:47
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: 9.10.2025 - 13:40