$dsn adalah nama sumber data. Ini menangani nama host Anda untuk Anda. Anda menggunakannya seperti ini:
$dsn = 'mysql:dbname=YOUR_DB_NAME;host=YOUR_HOSTNAME'
Dengan baris $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Anda telah menetapkan pengecualian untuk dimunculkan ketika kesalahan terjadi (yang saya suka), jadi di kelas tambahan Anda, Anda dapat menangani kesalahan dalam penangan pengecualian. Jika Anda memiliki metode yang disebut getAssoc di kelas PDO yang diperluas, maka itu akan terlihat seperti ini:
/// Get an associative array of results for the sql.
public function getAssoc($sql, $params=array())
{
try
{
$stmt = $this->prepare($sql);
$params = is_array($params) ? $params : array($params);
$stmt->execute($params);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
catch (Exception $e)
{
// Echo the error or Re-throw it to catch it higher up where you have more
// information on where it occurred in your program.
// e.g echo 'Error: ' . $e->getMessage();
throw new Exception(
__METHOD__ . 'Exception Raised for sql: ' . var_export($sql, true) .
' Params: ' . var_export($params, true) .
' Error_Info: ' . var_export($this->errorInfo(), true),
0,
$e);
}
}