<?php
+// vim: smarttab tabstop=8 shiftwidth=2 expandtab
//==============================================================
//
// To dispatch all data base access according database type
//
//==============================================================
-enum dbtype {
- case mysql;
- case postgres;
- case unknowdb;
- }
+class devsql {
+ public $connection = null;
+
+ // this function is called everytime this class is instantiated
+ // connecting to database
+ public function __construct($dbtype,$dbhost,$dbname,$dbuser) {
+ try {
+ $this->connection=new PDO("$dbtype:host={$dbhost};dbname={$dbname};",$dbuser);
+ $this->connection->setAttribute(PDO::ATTR_PERSISTENT,true);
+ $this->connection->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
+ $this->connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
+ } catch(Exception $e) {
+ throw new Exception($e->getMessage());
+ }
+ }
+
+ // disconnecting to database
+ public function __destruct() {
+ $this->connection = null;
+ rou_alert(0,"JMPDBG Disconnecting from database");
+ }
+
+ // Insert a row/s in a Database Table
+ public function Insert() {
+ }
+
+ // Select a row/s in a Database Table
+ public function Select() {
+ }
+
+ // Update a row/s in a Database Table
+ public function Update( ) {
+ }
+
+ // Remove a row/s in a Database Table
+ public function Remove( ) {
+ }
+
+ // execute statement
+ private function executeStatement( ){
+ }
+
+ }
-class dbinfo {
- public dbtype $dbspec;
- public object $sqlptr;
- }
//==============================================================
//
function sql_connect()
{
-$dbinfo=new dbinfo();
-$conn=0;
-$dbusr=getenv("APPNAME");
+$OPEP="devsal.php, sql_connect";
+
+$dbinfo=null;
+$dbuser=getenv("APPNAME");
$dbtype=getenv("DB_TYPE");
$dbname=getenv("DB_NAME");
$dbhost=getenv("DB_HOST");
$dbport=getenv("DB_PORT");
switch($dbtype) {
- case 'MYSQL' :
- include_once "unimar.php";
- $dbinfo->dbspec=mysql;
- $dbinfo->sqlptr=mar_connect($dbhost,$dbusr,$dbname,$dbport);
+case 'MYSQL' :
+ $dbinfo=new devsql("mysql",$dbhost,$dbname,$dbuser);
break;
case 'POSTGRESQL' :
- include_once "unipos.php";
- //$dbinfo->dbspec=postgres;
- $dbinfo->sqlptr=(object)pos_connect($dbhost,$dbusr,$dbname,$dbport);
+ $dbinfo=new devsql("pgsql",$dbhost,$dbname,$dbuser);
break;
default :
unset($dbinfo);
$daterr="Connect Database, type <".$dbtype."> is unexpected!";
throw new ErrorException($daterr);
break;
- }
+}
+rou_alert(0,"$OPEP connect to database");
return $dbinfo;
}
// To close database acces previously access
//
//==============================================================
-function sql_close(dbinfo $dbinfo)
+function sql_close(devsql $dbinfo)
{
-switch($dbinfo->dbspec) {
- case 'MYSQL' :
- $STR=mar_close($conn);
- break;
- case 'POSTGRESQL' :
- pos_close($dbinfo->$sqlptr);
- break;
- default :
- $daterr="Close Database, type <".$dbtype."> is unexpected!";
- throw new ErrorException($daterr);
- break;
- }
-return $STR;
+$OPEP="devsql.php, sql_close";
+
+rou_alert(0,"$OPEP JMPDBG desconnect database");
+sleep(10);
+$dbinfo->connection=null;
}
//==============================================================