Класс базы данных PDO, возвращающие ошибки - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть класс базы данных PDO, я немного новичок в PDO, поэтому я не знаю, как поступить с ошибками, чтобы можно было отлаживать, если что-то пойдет не так.Я просто хочу знать, как лучше ловить ошибки и возвращать их обратно в запрос.Вот мой класс базы данных:

class database {

private $dbh;
private $stmt;

public function __construct($user, $pass, $dbname) {
    $this->dbh = new PDO(
        "mysql:host=localhost;dbname=$dbname",
        $user,
        $pass,
        array( PDO::ATTR_PERSISTENT => true )
    );

}

public function query($query) {
    $this->stmt = $this->dbh->prepare($query);
    return $this;
}

 public function bind($pos, $value, $type = null) {

 if( is_null($type) ) {
        switch( true ) {
            case is_int($value):
                $type = PDO::PARAM_INT;
                break;
            case is_bool($value):
                $type = PDO::PARAM_BOOL;
                break;
            case is_null($value):
                $type = PDO::PARAM_NULL;
                break;
            default:
                $type = PDO::PARAM_STR;
        }
    }

    $this->stmt->bindValue($pos, $value, $type);
    return $this;
}

public function execute() {
    return $this->stmt->execute();
}

public function resultset() {
    $this->execute();
    return $this->stmt->fetchAll();
}

public function single() {
    $this->execute();
    return $this->stmt->fetch();
    }
}

Спасибо

1 Ответ

1 голос
/ 24 февраля 2012

Вы можете отловить ошибку в своем «коде клиента». Используйте блоки try / catch в каждом вызове, который включает методы «execute» или «query». Затем вы можете отправлять заявку по своему усмотрению при возникновении ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...