PHP version doesn't have get last oid function anymore
authorSteve Sutton <steve@gaslightmedia.com>
Mon, 28 Nov 2016 20:34:30 +0000 (15:34 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 28 Nov 2016 20:34:30 +0000 (15:34 -0500)
Need to replace these with this better way of getting the last id from
an insert statement. Using the postgres RETURNING id to get it.

admin/packages/orderForm.php
classes/class_order_form.inc

index f8ee791..520800c 100644 (file)
@@ -223,7 +223,7 @@ class orderForm extends form_creator
             // need to unset session var above durring !$_POST
             $_SESSION['MackinacPackageSubmit'] = true;
             return $out;
-            
+
         }
     }
 
@@ -307,19 +307,19 @@ class orderForm extends form_creator
             $this->DB->db_exec($query) ;
         } else {
             // if they don't exists then setup INSERT
-            $query      = "INSERT INTO contact ($contact_fields) VALUES ('$contact_values');";
+            $query      = "INSERT INTO contact ($contact_fields) VALUES ('$contact_values') RETURNING id;";
             $res2       = $this->DB->db_exec($query) ;
-            $lastoid    = pg_getlastoid($res2) ;
-            $query      = "SELECT id FROM contact WHERE oid = $lastoid";
-            $res3       = $this->DB->db_exec($query) ;
-            $contact_id = pg_result($res3, 0, 'id') ;
+            //$lastoid    = pg_getlastoid($res2) ;
+            //$query      = "SELECT id FROM contact WHERE oid = $lastoid";
+            //$res3       = $this->DB->db_exec($query) ;
+            $contact_id = pg_result($res2, 0, 'id') ;
         }
-        $query      = "INSERT INTO package_req (contact_id,$fields) VALUES ($contact_id,'$values')";
+        $query      = "INSERT INTO package_req (contact_id,$fields) VALUES ($contact_id,'$values') RETURNING package_number;";
         $res        = $this->DB->db_exec($query) ;
-        $lastoid    = pg_getlastoid($res) ;
-        $query2     = "SELECT package_number FROM package_req WHERE oid = $lastoid";
-        $res2       = $this->DB->db_exec($query2) ;
-        $package_id = pg_result($res2, 0, 'package_number');
+        //$lastoid    = pg_getlastoid($res) ;
+        //$query2     = "SELECT package_number FROM package_req WHERE oid = $lastoid";
+        //$res2       = $this->DB->db_exec($query2) ;
+        $package_id = pg_result($res, 0, 'package_number');
         $this->send_cust_email($package_id) ;
         header('Location: index.php');exit;
     }
index cab6da8..48fde6e 100755 (executable)
@@ -366,24 +366,24 @@ class order_form extends form_creator
             $this->DB->db_exec($query) ;
         } else {
             // if they don't exists then setup INSERT
-            $lastoid    = pg_getlastoid($res2) ;
-            $query      = "INSERT INTO contact ($contact_fields) VALUES ('$contact_values');";
+            //$lastoid    = pg_getlastoid($res2) ;
+            $query      = "INSERT INTO contact ($contact_fields) VALUES ('$contact_values') RETURNING id;";
             $res2       = $this->DB->db_exec($query);
-               $lastoid    = pg_getlastoid($res2) ;
-            $query      = "SELECT id FROM contact WHERE oid = $lastoid";
-            $res3       = $this->DB->db_exec($query) ;
-            $contact_id = pg_result($res3, 0, 'id') ;
+               //$lastoid    = pg_getlastoid($res2) ;
+            //$query      = "SELECT id FROM contact WHERE oid = $lastoid";
+            //$res3       = $this->DB->db_exec($query) ;
+            $contact_id = pg_result($res2, 0, 'id') ;
         }
         if (!$contact_id) {
             $query = "INSERT INTO package_req (contact_id,$fields) VALUES (null,'$values')";
         } else {
-            $query = "INSERT INTO package_req (contact_id,$fields) VALUES ($contact_id,'$values')";
+            $query = "INSERT INTO package_req (contact_id,$fields) VALUES ($contact_id,'$values') RETURNING package_number;";
         }
         $res        = $this->DB->db_exec($query) ;
-        $lastoid    = pg_getlastoid($res) ;
-        $query2     = "SELECT package_number FROM package_req WHERE oid = $lastoid";
-        $res2       = $this->DB->db_exec($query2) ;
-        $package_id = pg_result($res2, 0, 'package_number');
+        //$lastoid    = pg_getlastoid($res) ;
+        //$query2     = "SELECT package_number FROM package_req WHERE oid = $lastoid";
+        //$res2       = $this->DB->db_exec($query2) ;
+        $package_id = pg_result($res, 0, 'package_number');
 
         $confirmation
             = $this->send_cust_email($package_id) ;