<?php /** * @return mixed[] An array containing two elements: the modified SQL query (string), and the modified params (array). */ function unnameSqlParameters(string $sql, array $params): array { $newParams = []; $newSql = preg_replace_callback( '/:(\w+)/', static function (array $matches) use ($params, &$newParams): string { $name = $matches[1]; if (!array_key_exists($name, $params)) { throw new \RuntimeException("Cannot find parameter value for :{$name}."); } $newParams[] = $params[$name]; return '?'; }, $sql ); return [$newSql, $newParams]; } [$sql, $params] = unnameSqlParameters( 'INSERT INTO table1 (a, b, c) VALUES (:a, :b, :c)', ['a' => 'ValueA', 'c' => 'ValueC', 'b' => 'ValueB'] ); echo $sql, PHP_EOL; print_r($params);
You have javascript disabled. You will not be able to edit any code.