ここにある PHP PDO ラッパー クラスのわずかなバリエーションを使用しています: http://www.imavex.com/php-pdo-wrapper-class/
これは私が使用している新しいコンストラクタです:
public function __construct($dsn, $user='', $passwd='') {
$options = array(
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
try {
parent::__construct($dsn, $user, $passwd, $options);
} catch (PDOException $e) {
$this->error = $e->getMessage();
}
}
error
このクラスのプライベート変数であり、クラスの開始時にコンストラクターの上で定義されます。強いテキスト
で、こんな風に使うと
$database = new Database(
'mysql:host=' . $config['mysql_host'] . ';port=' . $config['mysql_port'] . ';dbname=' . $config['mysql_database'],
$config['mysql_username'],
$config['mysql_password']
);
次のエラーが表示されます:データベース クラス ファイルを指している行で、空の値からデフォルト オブジェクトを作成$this->error = $e->getMessage();
しています。
例外がスローされる理由は、まだ mysql のユーザー名とパスワードを設定していないためです。心配する必要はありません。このエラーが発生する理由と修正方法を理解しようとしています。