PDO数据库类,返回错误


PDO Database Class, returning errors

我有一个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();
    }
}

感谢

您可以在"客户端代码"中捕获错误。在每个涉及"execute"或"query"方法的调用中使用try/catch块。然后,每当出现错误时,您就可以随心所欲地引导应用程序。