]> git.nbdom.net Git - nb.git/commitdiff
lib/php/db/table.php
authorDevops <sys@15gifts.com>
Fri, 12 May 2017 16:42:01 +0000 (17:42 +0100)
committerDevops <sys@15gifts.com>
Fri, 12 May 2017 16:42:01 +0000 (17:42 +0100)
lib/php/db/table.php

index 76a2324c32458444f5efa8e12f1b83f81999cc89..61bfe5865cfde8ae2d4d6406063a78c50f8cded9 100644 (file)
@@ -1641,6 +1641,7 @@ Class Table extends nb {
     $keys_values = [];
     $fields = [];
     $fields_values = [];
+    $bindParam = false; # NB 12.05.17: Not working ???? 
 
     foreach ($this->fields() as $name => $field) {
 
@@ -1699,7 +1700,7 @@ Class Table extends nb {
     #$info['sql'] = $sql;
     $info = [ 'sql' => $sql ] + $info;
 
-    if (!($query = $this->db()->conn->prepare($sql))) {
+    if ($bindParam and !($query = $this->db()->conn->prepare($sql))) {
       err('PDO::errorInfo(): ' .join(' ', $this->db()->conn->errorInfo()) .NB_EOL);
       return false;
     }
@@ -1708,17 +1709,20 @@ Class Table extends nb {
       #debug("$name: ".$post[$name]);
       $row = [ $name => $post[$name] ];
       $this->db()->table_row_encrypt($this,$row);
-      $field->bindParam($query,$row[$name],":$name");
-      #$sql = str_replace(":$name",$row[$name],$sql);
+      if ($bindParam) $field->bindParam($query,$row[$name],":$name");
+      $sql = str_replace(":$name",$this->field($name)->quote($row[$name]),$sql);
     }
 
     foreach ($keys as $name) {
       #debug("$name: ".$post[$name]);
-      $field->bindParam($query,$post[$name],":key_$name");
-      #$sql = str_replace(":key_$name",$row[$name],$sql);
+      if ($bindParam) $field->bindParam($query,$post[$name],":key_$name");
+      $sql = str_replace(":key_$name",$this->field($name)->quote($post[$name]),$sql);
     }
 
     $info['sql'] = $sql;
+    if (!$bindParam) {
+      $query = $this->db()->conn->prepare($sql);
+    }
     #return $sql;
     if (self::p('debug')) {
       $this->debug($info,1);
@@ -1730,9 +1734,8 @@ Class Table extends nb {
       return false;
     }
 
-    #$info['rowCount'] = $query->rowCount();
     $info = [ 'rowCount' => $query->rowCount()] + $info;
-    debug($info); return 0;
+    #debug($info); return 0;
     return $info['rowCount'];
 
   }