diff --git a/core/trunk/core/class/class_db_pdo.php b/core/trunk/core/class/class_db_pdo.php index 5e880a1329b57b2a1e506859fc6d9e43e573df94..21bec5993f2ad84bab0d8f01de94f5552e711637 100644 --- a/core/trunk/core/class/class_db_pdo.php +++ b/core/trunk/core/class/class_db_pdo.php @@ -189,14 +189,22 @@ class Database preg_match_all("/\?/", $queryString, $matches, PREG_OFFSET_CAPTURE); $match = $matches[0][$key]; $queryString = substr($queryString, 0, $match[1]) . $placeholders . substr($queryString, $match[1]+1); + $parameters1 = array_slice($parameters, 0, $key); + $parameters2 = array_slice($parameters, $key+1); + $parameters = array_merge($parameters1, $value, $parameters2); } else { $placeholdersArr = array(); foreach ($value as $pos => $item) { - $placeholdersArr[] = ':item_'.$pos; + $pname = $key.'_'.$pos; + $placeholdersArr[] = $pname; + $parameters[$pname] = $item; } $placeholders = implode(',', $placeholdersArr); - $queryString = str_replace($key, $placeholders, $queryString); + $queryString = str_replace($key, $placeholders, $queryString); + unset($parameters[$key]); } + var_dump($queryString); + var_dump($parameters); } } }