Я пытаюсь понять, как обращаться с соединением mysql внутри класса. Не всегда обертывая его в оператор if. Вот пример, который поможет вам понять, что я пытаюсь сделать.Как обработать исключение соединения mysql самым простым способом
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;
}
}
}
Как вы можете видеть, если я должен был добавить несколько сценариев, я бы добавить много если уловы, чтобы проверить это было связанно. есть ли что-то вроде обработчика исключений функций, который имеет php? Функция IE foo вызывает исключение?
Вы можете написать класс, похожий на DB, который будет иметь соединение в конструкции и вызвать его функцию для выполнения запроса. В ваших сценариях это будет что-то вроде '$ db = new Database', а затем' $ db-> Query ('SELECT * FROM table'); ' – Autor69
Использовать throw и catch для обработки исключений http://stackoverflow.com/questions/17549584/how-to-effectively-use-try-catch-blocks-in-php – Hahn
Попробуйте PDO: http://php.net/manual/en/book.pdo.php –