Hi Leutz,
ich habe mal eine Klasse für den Datenbankzugriff geproggt, allerdings würd mich mal interessieren, was Ihr noch verbessern würdet. Jegliche Ideen willkommen!
Ich habe auf php-resouce natürlich auch einige ähnliche Klassen gefunden, aber so richtig praktisch find ich die alle nicht... also postet mal ;-)
ich habe mal eine Klasse für den Datenbankzugriff geproggt, allerdings würd mich mal interessieren, was Ihr noch verbessern würdet. Jegliche Ideen willkommen!
Ich habe auf php-resouce natürlich auch einige ähnliche Klassen gefunden, aber so richtig praktisch find ich die alle nicht... also postet mal ;-)
PHP-Code:
<?php
class Database {
var $mySQLconnection;
var $db;
var $table;
var $host;
var $user;
var $password;
var $fields;
var $where;
var $sqlHandle;
var $records;
function Database() {
$this->setHost();
$this->setUser();
$this->setPassword();
$this->setDB('usr_web101_2'); //lokale "Testdatenbank"
$this->fields = '';
$this->where = '';
$this->record = 0;
}
function setTable($table) {
$this->table = $table;
}
function setDB($database){
$this->db = $database;
}
function setPassword($pass = "") {
$this->password = $pass;
}
function setUser($user = "root") {
$this->user = $user;
}
function setHost($host = "localhost") {
$this->host = $host;
}
function connect() {
$this->mySQLconnection = mysql_connect($this->host,$this->user,$this->password);
//Keine Verbindung
if (!$this->mySQLconnection) die ("Keine Verbindung zur SQL - Datenbank!");
//Standardmäßig Datenbank schon auswählen
mysql_select_db($this->db) or die ("Konnte Datenbank nicht öffnen: ".mysql_error());
}
function select($sql) {
$this->sqlHandle = mysql_query($sql);
//das Ergebnis in das Klassenarray $this->records speichern
$this->records = array();
while ($record = mysql_fetch_array($this->sqlHandle)) {
$this->records[] = $record;
}
return $this->sqlHandle;
}
function get($field) {
return $this->records[$this->record][$field];
}
function howMany() {
if ($this->sqlHandle) {
return mysql_num_rows($this->sqlHandle);
}
}
function insert($insertArr) {
$fields = "(" . implode(",",array_flip($insertArr)) . ")";
$values = "('" . implode("','",$insertArr) . "')";
$sql = "INSERT INTO " . $this->table . " " . $fields . " VALUES " . $values . ";";
mysql_query($sql,$this->mySQLconnection);
}
function exec($sql) {
mysql_query($sql,$this->mySQLconnection);
}
function nextRecord() {
$this->record++;
if ($this->record >= count($this->records)) {
//dann sollte auch noch der "Datensatz-Zeiger" auf 0 gesetzt werden
$this->record = 0;
return false;
} else {
return true;
}
}
}
?>
Kommentar