Skip to content
Snippets Groups Projects
Commit f2533805 authored by Cyril Vazquez's avatar Cyril Vazquez
Browse files

FEAT #2482 Placeholder and param type array for sql in()

parent 42009d04
No related branches found
No related tags found
No related merge requests found
...@@ -189,14 +189,22 @@ class Database ...@@ -189,14 +189,22 @@ class Database
preg_match_all("/\?/", $queryString, $matches, PREG_OFFSET_CAPTURE); preg_match_all("/\?/", $queryString, $matches, PREG_OFFSET_CAPTURE);
$match = $matches[0][$key]; $match = $matches[0][$key];
$queryString = substr($queryString, 0, $match[1]) . $placeholders . substr($queryString, $match[1]+1); $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 { } else {
$placeholdersArr = array(); $placeholdersArr = array();
foreach ($value as $pos => $item) { foreach ($value as $pos => $item) {
$placeholdersArr[] = ':item_'.$pos; $pname = $key.'_'.$pos;
$placeholdersArr[] = $pname;
$parameters[$pname] = $item;
} }
$placeholders = implode(',', $placeholdersArr); $placeholders = implode(',', $placeholdersArr);
$queryString = str_replace($key, $placeholders, $queryString); $queryString = str_replace($key, $placeholders, $queryString);
unset($parameters[$key]);
} }
var_dump($queryString);
var_dump($parameters);
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment