![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
korzystam ze sterownika bazy danych przedstawionego na webcity.pl [http://webcity.php.pl/webcity/artykuly.php/t/19] i mam nastepujacy problem : w mojej klasie ktora pisze do obslugi userow mam taki kod: [php:1:675c36c600] <?php class user extends db{ function user(){ $sql = 'SELECT * FROM user_statistic WHERE 1 LIMIT 0, 30'; $this -> query($sql); } } ?>[/php:1:675c36c600] w index.php mam tak: [php:1:675c36c600]<?php require_once('modules/db.php'); $db = new db('10.31.1.1', 'shop_view', 'shop_view', 'shop', true); require_once('modules/user.php'); $user = new user(); ?>[/php:1:675c36c600] dlaczego przy wykonywaniu zapytania w mojej klasie wywala mi error a jak pisze w tresci pliku index.php: [php:1:675c36c600]<?php $db -> query('SELECT * FROM text WHERE tx_id='.$id.' LIMIT 1'); ?>[/php:1:675c36c600] to wszystko jest ok ![]() podsumowujac: nie dziala mi funckja z 1 klasy wywolywana w 2 klasie ... i nie wiem jak to porawic ... z gory dzieki za pomoc cya |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
chyba sobie poradzilem ... zmienilem kod: [php:1:75b0d47698]<?php class user extends db{ function user(){ $sql = 'SELECT * FROM user_statistic WHERE 1 LIMIT 0, 30'; $this -> query($sql); } } ?>[/php:1:75b0d47698] na : [php:1:75b0d47698]<?php class user extends db{ function user(){ global $db; $sql = 'SELECT * FROM user_statistic WHERE 1 LIMIT 0, 30'; $db -> query($sql); } } ?>[/php:1:75b0d47698] i teraz dziala ale nie wiem czy tak jest dobrze ... jak czytalem na webcity to tam poprzez extends <klasa> mozna sie odnosic bezposrednio do funkcji w klasie ... ale jak dziala to chyba dobrze ... |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
jesli dobrze rozumie to funkcje query masz w obiekcie db a nie user wiec wywolywanie jej w klasie user przez $this -> nie zda egzaminu musisz tam wsadzis $db->query lub wywolac klase db z klasy user ($this->db = new db) i potem ja wywoluj pzez $this->db->query()
update - chyba jednak am na to wczesniej wpadles ![]() -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 0 Dołączył: 24.10.2002 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
albo
[php:1:dbe4132b5e]<?php $db = new Db; $db = new User; ?>[/php:1:dbe4132b5e] i wtedy wszystko przez $db pojdzie pytanie do bardziej obeznanych czy to poprawne... tzn dziala, ale czy powino sie tak robic.. -------------------- Zalew :: http://jakubzalewski.info
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
jestem poczatkujacy w klasach ale czy takie wywolanie nie nadpisze mi obiektu db obiektem user ![]() cya |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 20:24 |