KB db
Aus Kitbooth Wiki: Deutsch
Inhaltsverzeichnis |
Funktionalität
Die Klasse KB_db erweitert die php-eigene Klasse PDO um einige spezielle Funktionen.
Verwendung
KB_db wird in Kitbooth im Allgemeinen nur einmal instanziert. Dies geschieht bereits in der Core-Funktionalität; steht also jederzeit zur Verfügung. Im globalen Kontext steht die Instanz in der Referenz $db zur Verfügung. Um die Instanz in einer Klasse oder Funktion zu nutzen, muss diese mit der Funktion $kbc->db_o() importiert werden.
Die Klasse überlädt keine Funktionen der originalen PDO Klasse, sondern fügt nur eigene Funktionen hinzu. Im Besonderen erweitern die neuen Funktionen ihre PDO-Pendants um das automatische Abfangen von PDOExeptions, optionale Registrierung von Meldungen (KB_message) und eine Zeitmessung.
Ausgabefunktionen
sql_first()
function sql_first($sql){}
Erwartet ein SQL-Statement als Parameter, liefert ein Array mit der ersten Zeile der Ergebnismenge eines Statements zurück. Zugrundeliegend sind die Funktionen PDOStatement->execute und PDOStatement->fetch(PDO::FETCH_ASSOC)
$db->sql_first($sql);
sql_all()
function num_rows($sql, $msg=false){}
Erwartet ein SQL-Statement als Parameter, liefert ein Array der Ergebnismenge zurück. Zugrundeliegend sind die Funktionen PDOStatement->execute und PDOStatement->fetchAll(PDO::FETCH_ASSOC)
$db->sql_all($sql);
num_rows()
function num_rows($sql){}
Erwartet ein SQL-Statement als Parameter $sql sowie einen String als optionalen Parameter $msg; Liefert einen Integer mit der Zeilenanzahl der Ergebnismenge zurück. Wenn der Parameter $msg übergeben wird, registriert num_rows() eine Meldung bei KB_message.
$db->num_rows($sql);
Eingabefunktionen
sql_query()
function sql_query($sql, $msg=false){}
Erwartet ein SQL-Statement als Parameter $sql sowie einen String als optionalen Parameter $msg; Zugrundeliegend ist die Funktion PDOStatement->execute(). Wenn der Parameter $msg übergeben wird, registriert sql_query() eine Meldung bei KB_message.
$db->sql_query($sql);
sql_insert()
function sql_insert($sql, $msg=false){}
Entspricht sql_query(), liefert aber anstatt der Rückgabe von PDOStatement->execute() die Rückgabe von PDOStatement->lastInsertId() also die mit der Query eingefügte id zurück.
$db->sql_insert($sql);
sonstige Funktionen
set_roolback()
function set_roolback(){}
Zugrundeliegend ist die Funktion PDO::rollBack. Allerdings registriert bei einem erfolgreichen Rollback eine Fehlermeldung bei KB_message.
$db->set_roolback($sql);
showexectime()
function showexectime(){}
Gibt den Gesamtzeitverbrauch aller Queries in Sekunden zurück. Diese Funktion ist nur als Entwickler nutzbar.
$db->showexectime($sql);
showquerytime()
function showquerytime(){}
Gibt einen HTML-Block allen Queries und deren Ausführungszeit sowie die Gesamtsumme zurück. Diese Funktion ist nur als Entwickler nutzbar.
$db->showquerytime($sql);