]> SAFE projects GIT repository - jmp/mailleur/commitdiff
devsql class implementation begining
authorJean-Marc Pigeon <jmp@safe.c>
Sun, 31 Aug 2025 13:53:02 +0000 (09:53 -0400)
committerJean-Marc Pigeon <jmp@safe.c>
Sun, 31 Aug 2025 13:53:02 +0000 (09:53 -0400)
www/devsql.php
www/mailleur.php
www/unipos.php

index 0387445e5bf9b9d79d8df255e1ea320b31c6fb55..7bfd0f590d36b1dffe1607016bb094ceb93783d3 100644 (file)
@@ -1,21 +1,56 @@
 <?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;
-               }
 
 //==============================================================
 //
@@ -25,30 +60,28 @@ class dbinfo        {
 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;
 }
 
@@ -57,22 +90,14 @@ 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;
 }
 
 //==============================================================
index ae9fc47bd9c6de22fac83f3119b36f6294089960..88529004828611f2c270d9b2478bc41dda499984 100644 (file)
@@ -34,7 +34,6 @@ Login=$logname
 Password=$pass
 <BR>
 DBTYPE=$dbtype; DBPORT=$dbport
-sql_connect=$mode
 </FONT></STRONG></CENTER>
 </FONT></STRONG></CENTER>
 <BR>
index d0035c604cf63e262482f17371c22b94e1d33faf..f8c08565757e6c8e81a47a8655465d5e5455a469 100644 (file)
@@ -11,6 +11,9 @@ class pgsql     {
   // this function is called everytime this class is instantiated
 
   public function __construct()        {
+    $this->connection = new PDO("mysql:host={$dbhost};dbname={$dbname};",$username);
+    $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+    $this->connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
     }
 
        // Insert a row/s in a Database Table