|
Der Vorteil der Verwendung einer Datenbankklasse ist, dass diese den Zugriff auf die Datenbank vereinfacht, da die Klasse einzelne wie z.B. Öffnen der Datenbank selbst ausführt.
<?php
//---------------------------------------------------------------
// DB-Access Klasse
// Programmierung: Andy Dunkel
// Version 1.0
// Copyright 2004 Dunkel & Iwer GbR
//---------------------------------------------------------------
// Steuert Datenbankzugriffe auf MySQL Datenbank
//---------------------------------------------------------------
class dbaccess
{
//Datenbankzugriffsvariablen
var $dbname="db1";
var $dbhost="localhost";
var $dbuser="root";
var $dbpass="pentel";
//-----------------------------------------------------------
function openDB()
{
$db = mysql_connect($this->dbhost,$this->dbuser,$this->dbpass) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$res = mysql_select_db($this->dbname, $db);
return $db;
}
//-----------------------------------------------------------
function closeDB($db)
{
mysql_close($db);
}
//-----------------------------------------------------------
function ExecuteSQL($sql)
{
$db = $this->openDB();
if ($db != false)
{
$result = mysql_query($sql,$db);
$this->closeDB($db);
return $result;
}
else
{
return false;
}
}
//-----------------------------------------------------------
function FetchRowArray($sqlresult)
{
$ar = mysql_fetch_array($sqlresult);
return $ar;
}
//-----------------------------------------------------------
function GetRowCount($sqlresult)
{
return mysql_num_rows($sqlresult);
}
//-----------------------------------------------------------
function GetRowCountSQL($sql)
{
$sqlresult = $this->ExecuteSQL($sql);
return mysql_num_rows($sqlresult);
}
//-----------------------------------------------------------
}
?>
Beispiele für die Benutzung
Löschen von Datensätzen:
$query = "DELETE FROM KUNDE WHERE KDNR = 100";
$dbaccess = new dbaccess();
$dbaccess->ExecuteSQL($query);
Ermitteln der Anzahl von Datensätzen in einer Tabelle:
$query = "SELECT * FROM KUNDE";
$dbaccess = new dbaccess(); $rows = $dbaccess->GetRowCountSQL($query);
Auslesen einer Tabelle:
$sql = "SELECT * FROM KUNDE"; $dbaccess = new dbaccess(); $resSQL = $dbaccess->ExecuteSQL($sql);
$iResultCount = $dbaccess->GetRowCount($resSQL);
for ($i=0;$i<=$iResultCount-1;$i++) {
$arCur = $dbaccess->FetchRowArray($resSQL); echo $arCur['name'] . "<br>"; echo $arCur['firma'] . "<br>";
}
|