diff --git a/core/trunk/core/class/class_db_pdo.php b/core/trunk/core/class/class_db_pdo.php
index b6179a58e0d87617069f20405507028a81f7037a..5e880a1329b57b2a1e506859fc6d9e43e573df94 100644
--- a/core/trunk/core/class/class_db_pdo.php
+++ b/core/trunk/core/class/class_db_pdo.php
@@ -181,6 +181,26 @@ class Database
      */
     public function query($queryString, $parameters=null, $catchExceptions=false)
     {
+        if ($parameters) {
+            foreach ($parameters as $key => $value) {
+                if (is_array($value)) {
+                    if (is_int($key)) {
+                        $placeholders = implode(',', array_fill(0, count($value), '?'));
+                        preg_match_all("/\?/", $queryString, $matches, PREG_OFFSET_CAPTURE);
+                        $match = $matches[0][$key];
+                        $queryString = substr($queryString, 0, $match[1]) . $placeholders . substr($queryString, $match[1]+1);
+                    } else {
+                        $placeholdersArr = array();
+                        foreach ($value as $pos => $item) {
+                            $placeholdersArr[] = ':item_'.$pos;
+                        }
+                        $placeholders = implode(',', $placeholdersArr);
+                        $queryString = str_replace($key, $placeholders, $queryString);    
+                    }
+                }
+            }
+        }
+
         try {
             $this->stmt = $this->prepare($queryString);