我有一个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();
}
}
由于
答案 0 :(得分:1)
您可以在“客户端代码”中捕获错误。在涉及“执行”或“查询”方法的每个调用中使用try / catch块。然后,无论何时发生错误,您都可以根据需要处理应用程序。