PDO-Ausnahme wird beim Zugriff über die Klasse nicht abgefangenPhp

PHP-Programmierer chatten hier
Anonymous
 PDO-Ausnahme wird beim Zugriff über die Klasse nicht abgefangen

Post by Anonymous »

Ich verwende die folgende Klasse, um eine PDO-Datenbankverbindung zu erstellen und darauf zuzugreifen:

Code: Select all

class DBCxn {
// What Data Source Name to connect to?
public static $dsn='mysql:host=localhost;dbname=dbname';
public static $user = 'root';
public static $pass = 'root';
public static $driverOpts = null;

// Internal variable to hold the connection
private static $db;
// no cloning or instantiating allowed
final private function __construct() {}
final private function __clone() {}

public static function get() {
// Connect if not allready connected
if (is_null(self::$db)) {
self::$db = new PDO(self::$dsn, self::$user, self::$pass, self::$driverOpts);
}

// Return the connection
return self::$db;
}

}
Wenn ich versuche, auf die folgende Weise darauf zuzugreifen und die bereitgestellte Abfrage fehlschlägt (tes anstelle von test), wird keine Ausnahme ausgelöst:

Code: Select all

$db = DBCxn::get();

try {

foreach($db->query('SELECT * from tes') as $row) {
print_r($row);
}
$db = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "
";
die();
}
Der Code gibt die Warnung zurück: Ungültiges Argument für foreach()
Warum wird die Ausnahme nicht abgefangen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post