<?php class sql { private $link; private $result; public $rows; public $ilosczapytan; public function __construct() // laczymy sie z baza { $this -> link = @mysql_connect('localhost', 'login', 'pass') or die('Nie mozna sie polaczyc z baza'); } public function __destruct() // zamykamy polaczenie { { } } public function query($query) //zapytanie do bazy { $ii=4; { } $this->ilosczapytan++; } public function fetch_row() //pobieramy wyniki { { return 1; } } } ?>
Klasa articles:
<?php class articles { public $db; function __construct($db) { $this -> db = $db; } $this->db->query("SELECT * FROM ..."); (...) ?>
I wykorzystuje ją np. tak:
<?php require_once('...'); $db = new sql(); $arts = new articles($db); $arts->display(1); $arts->display(2); ?>
Wtedy dostaje blad:
Kod
Warning: mysql_error(): 6 is not a valid MySQL-Link resource in sql.php
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in sql.php
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in sql.php
Jeśli usune destruktor wszystko jest OK
I pytanie czemu tak się dzieje ?