Problem: $this->

2011-12-06 08:20:31 Post #1 gość_xiado

 
Witam.
Na własne potrzeby piszę klase do obsługi moich 'baz danych na plikach' (na plikach, bo serwer oferuje 5mb MySql). I tu mam problem. Mam klasę (tu tylko potrzebne fragmenty):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class dataBase
{
    private 
$_connection null;
    private 
$host '127.0.0.1';
    private 
$login 'root';
    private 
$password '';
    private 
$usersDB 'users';
    private 
$filesDB 'files';
    private 
$newssDB 'newss';

    function 
__construct($dataBaseLetter)
    {
        switch(
$dataBaseLetter)
        {
            case 
'u':
                
$dataBase $this->usersDB;
                break;
            case 
'f':
                
$dataBase $this->filesDB;
                break;
            case 
'n':
                
$dataBase $this->newssDB;
                break;
        }
        
$this->_connection mysqli_connect($this->host$this->login$this->password$dataBase);
    }
}


I za każdym razem, gdy próbuję wywołać

1
$this->_connection


Zwraca mi :
Catchable fatal error: Object of class mysqli could not be converted to string in /*ADRES DO PLIKU*/ on line /*LINIA*/


Ja robie błąd, czy "_connection" trzeba inaczej wywołać?

Dziękuje z góry. Pozdro :]

2011-12-06 08:25:06 Post #2 nospor

 
Pokaz kawałek kodu z tego pliku i z okolic tej linii:

....g in /*ADRES DO PLIKU*/ on line /*LINIA*/
To tam masz przecież błąd.

2011-12-06 08:32:12 Post #3 gość_xiado

 
Ta linia to dokładnie:

1
$query .= $this->_connection;


Jest tak, bo tuż przed i tuż po są foreach'y do moich tablic.

2011-12-06 08:52:40 Post #4 nospor

 
No, i powiedz mi teraz proszę od kiedy to niby można obiekt mysqli stosować jak tekst? Nawet komunikat błędu ci to wyraźnie mówi.

Co ty w ogóle takim kodem
$query .= $this->_connection;
chcesz osiągnąć?

2011-12-06 08:58:11 Post #5 gość_xiado

 
W __construct() zrobiłem, by zapisywał połączenie mysqli do zmiennej _connect. $this->_connect 'em chcę więc by w tym miejscu mi użyło połączenia (stringu ze zmiennej _connect).

Więc co jest nie tak?

2011-12-06 09:03:24 Post #6 nospor

 
Sorki, ale coś pleciesz bez sensu

by w tym miejscu mi użyło połączenia (stringu ze zmiennej _connect).

Co to niby ma znaczyć? Jaki tekst chcesz użyć?? Połączenie to połączenie a nie żaden string.Tu masz przykład jak się go używa
http://www.php.net/manual/en/mysqli.query.php
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
$link To jest Twoje $this->_connection. Zaden string

2011-12-06 09:06:51 Post #7 gość_xiado

 
Przepraszam - połączenie nie string (mój błąd). Teraz do mnie doszło co robie źle - zamiast dawać nazwę bazy danych, dawałem połączenie.

Dzięki za poświęcony czas

Odpowiedz