我需要连接数据库,而无需显示错误。我必须使用try / catch异常。

 class MySqlDatabase {
private  $connection;

function __construct() {
    $this->open_connection();
}
public function open_connection() {
    $this->connection = mysql_connect(HOST_NAME, DB_USER, DB_PASSWORD);
    if (!$this->connection) {
        die('Not connected: ' . mysql_error());
    } else {
        $db_selected = mysql_select_db(DB_NAME, $this->connection);
        if (!$db_selected) {
            die ('Can\'t use foo : ' . mysql_error());
        }
    }
}

public function getConnection() {
    return $this->connection;
}


}

最佳答案

为什么不使用PDO

class MySqlDatabase
{
    private  $connection;

    public function __construct()
    {
       $this->open_connection();
    }

    public function open_connection()
    {
        try {
            $this->connection = new PDO(
                sprintf('mysql:host=%s;dbname=%s;',
                HOST_NAME,DB_NAME),
                DB_USER,
                DB_PASSWORD,
                array(
                   PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
            ));
            $this->connection->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        } catch (PDOException $e) {

            printf('Connected problem, code: %s, meassage: %s',$e->getCode(),$e->getMessage());
            exit(1);
        }

    }

    public function getConnection()
    {
        return $this->connection;
    }
}

10-02 01:15
查看更多