<?php
/******************************************************************************
* Database Abstraction Class
* DB Type: MySQL
* (C) Paul Clement 2007
*
* Usage: $DB = new DataBase('Host', 'User', 'Password', 'DB');
******************************************************************************/
class DataBase
{
// Connection Variable
public $Connection;
// Initialise Connection
function __construct($DBHost, $DBUser, $DBPass, $DBName)
{
// Attempt Connection
// Verify Connection
if ( !$this->Connection )
{
// Throw Error
return false;
}
// Select Database
// Verify Selection
if ( !$Select )
{
// Throw Error
return false;
}
// Return true
return true;
}
// Execute SQL Command
function ExecuteSQL($SQLCommand)
{
// Query Database
// Verify Query
{
// Throw Error
return false;
}
// Return true
return $Query;
}
// Get Data Set
function GetDataSet($SQLCommand)
{
// Create Return Variable
// Query Database
$Query = $this->ExecuteSQL($SQLCommand);
// Add returned rows to array
{
$DataSet[] = $DataRow;
}
// Return DataSet
return $DataSet;
}
// Get Data Row
function GetDataRow($SQLCommand)
{
// Get Data Set
$DataSet = $this->GetDataSet($SQLCommand);
// Check that a row exists
if ( count ( $DataSet ) == 0 )
{
return false;
}
// Return first row from dataset
return $DataSet[0];
}
// Insert Row
function InsertRow($TableName, $ValuesArray)
{
// Initialise Variables
$i = 1;
$Columns = "";
$Values = "";
// Count Items
$numItems = count($ValuesArray);
// Loop through $ValuesArray
foreach ( $ValuesArray As $ColumnName => $Value )
{
$Columns .= $ColumnName;
// If not last entry
if ( $i != $numCols )
{
// Add Seperators
$Values .= ", ";
$Columns .= ", ";
}
// Increment i
$i++;
}
// Build SQL Statement
$SQL = "INSERT INTO " . $TableName ." ( " . $Columns . " ) VALUES ( " . $Values . " )";
// Execute Query
return $this->ExecuteSQL($SQL);
}
// Delete Row(s)
function DeleteRow($TableName, $WhereArray)
{
// Set up variables
$i = 1;
$Values = "";
$Columns = "";
// Count number of items
$numCols = count($WhereArray);
// Start SQL Statement
$SQL = "DELETE FROM " . $TableName . " WHERE ";
// Loop through $whereArray
foreach ( $WhereArray As $ColumnName => $Value )
{
$SQL .= $ColumnName . " = '" . addslashes($Value) . "'";
// If not last entry
if ( $i != $numCols )
{
// Add Seperators
$SQL .= " AND ";
}
// Increment i
$i++;
}
// Execute SQL Command
return $this->ExecuteSQL($SQL);
}
// Update Row
function UpdateRow($TableName, $ValuesArray, $WhereArray)
{
// Set up variables
$i = 1;
$UpdateValues = "";
$UpdateColumns = "";
$WhereValues = "";
$WhereColumns = "";
// Set counts
$whereCount = count($WhereArray);
$valueCount = count($ValuesArray);
// Start SQL String
$SQL = "UPDATE " . $TableName . " SET ";
// Loop through $ValuesArray
foreach ( $ValuesArray As $Column => $Value )
{
$SQL .= $Column . " = '" . addslashes($Value) . "'";
// If not last entry
if ( $i != $valueCount )
{
// Add Seperators
$SQL .= ", ";
}
// Increment i
$i++;
}
if ( $whereCount != 0 )
{
$SQL .= " WHERE ";
$i = 1;
// Loop through $WhereArray
foreach ( $WhereArray As $Column => $Value )
{
$SQL .= $Column . " = '" . $Value . "'";
// If not last entry
if ( $i != $whereCount )
{
// Add Seperators
$SQL .= " AND ";
}
// Increment i
$i++;
}
}
// Execute SQL Command
return $this->ExecuteSQL($SQL);
}
}
?>