Ich versuche herauszufinden, wie die mysql Verbindung innerhalb einer Klasse zu behandeln. Ohne es immer in eine if-Anweisung zu verpacken. Hier ist ein Beispiel, das Ihnen hilft zu verstehen, was ich versuche zu tun.Wie behandelt man mysql Verbindungsausnahme auf die einfachste Weise
class Database {
protected $conn;
protected $password;
protected $username;
protected $servername;
public function Database(){
$this->conn = new mysqli($this->servername,$this->username,$this->password);
}
public function scriptA(){
if ($this->conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else{
//do script A
return $result;
}
}
public function scriptB(){
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else{
//do script B
return $result;
}
}
}
Wie Sie sehen können, wenn ich mehr Skripte hinzufügen waren ich hätte in einer Menge hinzuzufügen, wenn Fänge sie angeschlossen prüfen hat. Gibt es so etwas wie eine Ausnahmeroutine für Funktionen, die PHP hat? IE-Funktion foo löst Ausnahme aus?
Sie können eine Klasse so etwas wie DB schreiben, die Verbindung in Konstrukt haben und rufen seine Funktion die Abfrage zu tun. In Ihren Skripten wäre es etwa so: '$ db = new Database' und dann' $ db-> Query ('SELECT * FROM table'); ' – Autor69
Verwenden Sie throw und catch für die Ausnahmebehandlung http://stackoverflow.com/questions/17549584/how-to-effizient-verwenden-try-catch-blocks-in-php – Hahn
Versuchen Sie PDO: http://php.net/manual/en/book.pdo.php –