[PHP] mysqli_connect()een extra abstracti werkt niet altijd.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik zie net dat ik met copy pasten de topic titel heb verkracht... sorry
moet natuurlijk "[PHP] mysqli_connect() werkt niet altijd." zijn

Ik ben bezig om een extra abstractie laag in een website te maken. Hierin zit het volgende:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
class Database {
    
    private $DB;                // database connection.
    
    public function __construct(){
        $this->DB = mysqli_connect('localhost', 'root', 'plep', 'test')or die("Can not connect to database server");
        echo "<pre>";
        var_dump($this->DB);
        echo "</pre><br>";
        echo is_resource($this->DB)? "TRUE" : "FALSE";
    }
}

Het hele zooije roep ik aan met:
PHP:
1
2
3
4
5
6
<?php
require_once('class.Database.php');
$DB = new Database();
$table = 'test';
var_dump($DB->select("SELECT * FROM test"));
?>

de output hiervan is:
code:
1
2
3
4
5
object(mysqli)#2 (0) {
}


FALSE

Geen verbinding dus. (Ik heb ook geprobeerd querys yut te voeren, maar dat gaat niet, als verwacht).

Het vreemde is, de volgende code werkt wel!
PHP:
1
2
3
4
5
6
7
8
9
    private static function getConnection(){
        static $DB;
        
        if (isset($DB)) {
            return $DB;
        }
        $DB = mysqli_connect('localhost', 'root', 'plep', 'test')or die("Can not connect to database server");
        return $DB;
    }


de connect string is exact gelijk!

enige verschil is dat het niet werkende script diep in de docroot zit, en het werkende script in de docroot zelf, al kan ik me niet indenken dat dat een probleem is.

ik ben de mysqli manual al door wezen spitten, maar het lijkt er op dat ik het toch echt wel goed doe...

[ Voor 68% gewijzigd door Verwijderd op 13-10-2005 13:45 . Reden: wat meer info... ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
subtiel schopje ? ;)