Ich habe nun Folgende Klasse erstellt:
und so rufe ich es auf:
Ich habe bei dem Host etwas falsches eingegeben um zu prüfen ob es klappt.
Wie bekomme ich nun die Message (Es konnte keine Verbindung hergestellt werden.) aus der Klasse heraus und gebe die bei "Meldung" aus?
PHP:
<?php
class MySQL{
/****** Benötigte Variablen setzten ******/
var $db_user = ""; // DB-Username
var $db_password = ""; //-DB Passwort
var $db_name = ""; // DB-Name
var $db_host = ""; // DB-Host
var $error = array(); // Fehlerausgabe Message in Array
/****** Benötigte Variablen setzten ******/
/****** Funktion für Verbindung ******/
// @db_user - Datenbankbenutzer übergeben
// @db_password - Datenbankbenutzerpasswort übergeben
// @db_name - Datenbankname übergeben
// @db_host - Datenbankhostename übergeben
function connect($db_user, $db_password, $db_name, $db_host){
$this->db_host = $db_host; // Von der Klasse MySQL die Variable "db_host"
$this->db_name = $db_name; // Von der Klasse MySQL die Variable "db_name"
$this->db_user = $db_user; // Von der Klasse MySQL die Variable "db_user"
$this->db_password = $db_password; // Von der Klasse MySQL die Variable "db_password"
// Hilfsvariable Verbindung überprüfen füllen
$this->connectcheck = @mysql_connect($this->db_host, $this->db_user, $this->db_pass);
// Falls keine Verbindung hergestellt wurde, Hinweis geben und auf false setzten
if(!($this->connectcheck)){
$this->error["error"] = true;
$this->error["message"] = "Es konnte keine Verbindung hergestellt werden.";
return false;
}
// Falls keine Datenbank angegeben wurde, Hinweis geben und auf false setzten
else{
if($this->db_name == ""){
$this->error["error"] = true;
$this->error["message"] = "Es wurde keine Datenbank angegeben.";
return false;
}
// Falls eine Datenbank angegeben wurde, prüfen ob diese existiert und auf true setzten falls diese existiert
else{
$list = mysql_list_dbs($this->connectcheck);
$db_exist = false;
while($db = mysql_fetch_object($list)){
if($db->Database == $this->db_name){
$db_exists = true;
}
}
// Wenn die Datenbank nicht existiert
if($db_exist == false){
// Falls die Datenbank nicht angelegt werden kann, Hinweis geben und false setzten
if(!(mysql_create_db($this->db_name, $this->connectcheck))) {
$this->error["error"] = true;
$this->error["message"] = "Datenbank konnte nicht angelegt werden.";
return false;
}
// Falls die Datenbank nicht ausgewählt werden kann, Hinweis geben und false setzten
else{
if(!(mysql_select_db($this->db_name, $this->connectcheck))) {
$this->error["error"] = true;
$this->error["message"] = "Datenbank konnte nicht ausgewählt werden.";
return false;
}
}
}
// Wenn die Datenbank existiert aber nicht ausgewählt werden kann, Hinweis geben und false setzten
else{
if(!(mysql_select_db($this->db_name, $this->connectcheck))) {
$this->error["error"] = true;
$this->error["message"] = "Datenbank konnte nicht ausgewählt werden.";
return false;
}
}
}
}
}
/****** Funktion für Verbindung trennen ******/
function connection_close() {
// Falls keine Verbindung besteht, Hinweisgeben und false setzten
if(!($this->connectcheck)) {
$this->error["error"] = true;
$this->error["message"] = "Verbindung konnte nicht getrennt werden, da keine besteht.";
return false;
}
// Sonst Verbindung schliessen
else {
@mysql_close($this->connectcheck);
return true;
}
}
}
?>
und so rufe ich es auf:
PHP:
<?php
// Klasse hinzuladen
include("connection.class.php");
// Objekt erzeugen und Konstrukt laden
$sql = new MySQL("root", "blub", "newsreader", "s");
// Beenden der Verbindung
//$sql->connection_close();
$message = $sql->error["message"];
echo "Meldung".$message;
?>
Ich habe bei dem Host etwas falsches eingegeben um zu prüfen ob es klappt.
Wie bekomme ich nun die Message (Es konnte keine Verbindung hergestellt werden.) aus der Klasse heraus und gebe die bei "Meldung" aus?