diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index 4d8068ccac53965b31d184379c0154fce1c35749..cbd9b1b7926f5eeabc6a26cc03d7ddcba44c5db8 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -538,7 +538,27 @@ class db extends mysqli
 		}
 		return $out;
 	}
-
+	
+	public function insertFromArray($tablename, $data) {
+		if(!is_array($data)) return false;
+		
+		$k_query = '';
+		$v_query = '';
+		
+		$params = array($tablename);
+		$v_params = array();
+		
+		foreach($data as $key => $value) {
+			$k_query .= ($k_query != '' ? ', ' : '') . '??';
+			$v_query .= ($v_query != '' ? ', ' : '') . '?';
+			$params[] = $key;
+			$v_params[] = $value;
+		}
+		
+		$query = 'INSERT INTO ?? (' . $k_query . ') VALUES (' . $v_query . ')';
+		return $this->query($query, true, $params + $v_params);
+	}
+	
 	public function diffrec($record_old, $record_new) {
 		$diffrec_full = array();
 		$diff_num = 0;