Hallo ich bastel mir gerade eine kleine PDO klasse zusammen wozu ich mal ein paar fragen hätte.
Hier mal die Klasse
So meine fragen wären
- sollten die PDO methoden aufrufe in getRow(), getRows(), und insert()
auch mit einer exception versehen werden?
- und ist es nötig die objekte die mit self::getInstance() erzeugt werden auch wieder zu löschen?
das wär erstmal so das grundlegende, was ich gern wissen würde, bzw natürlich auch allgemein was man besser machen kann.
schonmal Danke
mfg
mo
Hier mal die Klasse
PHP-Code:
private static $db;
private function getInstance()
{
if(!self::$db)
{
try{
self::$db = new PDO('mysql:host='.MySQLconfig::DB_HOST.';
dbname='.MySQLconfig::DB_DATABASE,
MySQLconfig::DB_USER,
MySQLconfig::DB_PASSWORD,
array(PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));
}catch (PDOException $e) {
echo "Error!: " . $e->getMessage() . "<br/>";
die();
}
}
return self::$db;
}
//Einen Datensatz auslesen
public static function getRow($para, $sql)
{
$stmt = self::getInstance()->prepare($sql);
$stmt->execute($para);
$row = $stmt->fetch();
$stmt = NULL;
return $row;
}
//Mehrere Datensätze auslesen
public static function getRows($para, $sql)
{
$stmt = self::getInstance()->prepare($sql);
$stmt->execute($para);
$rows = $stmt->fetchAll();
$stmt = NULL;
return $rows;
}
//datensatz einfügen
public static function insert($para, $sql)
{
$stmt = self::getInstance()->prepare($sql);
$query = $stmt->execute($para);
$lastID = self::getInstance()->lastInsertId();
if(isset($lastId) && $query==TRUE ){
$back = array('bool'=>TRUE,
'lastID'=> $lastID);
return $back;
}else
$back = array('bool'=>FALSE,
'lastID'=> NULL);
return $back;
}
}
- sollten die PDO methoden aufrufe in getRow(), getRows(), und insert()
auch mit einer exception versehen werden?
- und ist es nötig die objekte die mit self::getInstance() erzeugt werden auch wieder zu löschen?
das wär erstmal so das grundlegende, was ich gern wissen würde, bzw natürlich auch allgemein was man besser machen kann.
schonmal Danke
mfg
mo
Kommentar