Hoi allemal,

Ik ben nieuw in OOP.
Ik heb zo juist mijn eerste OOP code geschreven maar hij werkt niet.
Kunnen jullie aub naar mijn code kijken en de fout aanwijzen?

Alvast bedankt



<?php

require_once("config.php");

class MySQLDatabase {

private $connection;

function __construct(){
$this->open_connection();
}

public function open_connection() {
// $this->connection = mysql_connect();
$this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS);
if (!$this->connection)
{
// die("Database connection failed: " . mysql_error());
die("Database connection failed: " . mysqli_error());
}
else
{
// $db_select = mysql_select_db(DB_NAME, $this->connection);
$db_select = mysqli_select_db(DB_NAME, $this->connection);
if (!$db_select)
{
// die("Database selection failed: " . mysql_error());
die("Database selection failed: " . mysqli_error());
}
}
}

}


$database = new MySQLDatabase();


?>
Wat gaat er mis? Wat gebeurt er?

En nog een goede tip: Gebruik gewoon de MySQLi-versie met OOP. die() is niet netjes, hiervoor zijn exceptions bedoeld.

Nog mooier is een wrapper waarin je al je nodige MySQLi-objecten aanroept, zodat je eenvoudig een andere databasedriver kan implementeren.
Ik ben niet into OOP maar misschien:
$DB_SERVER, $DB_USER, $DB_PASS ??
Hoi Ariën,

Bedankt voor je tips.

In config.php heb ik mijn wachtwoorden staan (DB_SERVER, DB_USER, DB_PASS, DB_NAME).
In de index.php heb ik een kleine test gedaan of er een connection is met database. Maar hij reageert niet.


if (isset($database))
{
echo 'True';
}
else
{
echo 'False';
}
John D op 09/10/2017 18:23:08

Ik ben niet into OOP maar misschien:
$DB_SERVER, $DB_USER, $DB_PASS ??

Nee, hij gebruikt constantes.
Ik heb dat gevonden!

FOUT:
$db_select = mysqli_select_db(DB_NAME, $this->connection);

CORRECT:
$db_select = mysqli_select_db($this->connection, DB_NAME);


Bedankt jongens voor tips.

Reageren