/** * Return a query with the parameters replaced * * @param string $query * @param array $parameters * * @return string */ public function replaceQueryParameters($query, array $parameters) { $i = 0; $result = preg_replace_callback('/\\?|((?<!:):[a-z0-9_]+)/i', function ($matches) use($parameters, &$i) { $key = substr($matches[0], 1); if (!array_key_exists($i, $parameters) && (false === $key || !array_key_exists($key, $parameters))) { return $matches[0]; } $value = array_key_exists($i, $parameters) ? $parameters[$i] : $parameters[$key]; $result = DoctrineExtension::escapeFunction($value); $i++; return $result; }, $query); return $result; }
/** * Return a query with the parameters replaced * * @param string $query * @param array $parameters * @param bool $highlight * * @return string */ public function replaceQueryParameters($query, array $parameters, $highlight = true) { $i = 0; $result = preg_replace_callback('/\\?|((?<!:):[a-z0-9_]+)/i', function ($matches) use($parameters, &$i) { $key = substr($matches[0], 1); if (!array_key_exists($i, $parameters) && (false === $key || !array_key_exists($key, $parameters))) { return $matches[0]; } $value = array_key_exists($i, $parameters) ? $parameters[$i] : $parameters[$key]; $result = DoctrineExtension::escapeFunction($value); $i++; return $result; }, $query); if ($highlight) { $result = \SqlFormatter::highlight($result); $result = str_replace(array('<pre ', '</pre>'), array('<span ', '</span>'), $result); } return $result; }
/** * Return a query with the parameters replaced * * @param string $query * @param array $parameters * * @return string */ public function replaceQueryParameters($query, $parameters) { $i = 0; $result = preg_replace_callback('/\\?|(:[a-z0-9_]+)/i', function ($matches) use($parameters, &$i) { $key = substr($matches[0], 1); if (!isset($parameters[$i]) && !isset($parameters[$key])) { return $matches[0]; } $value = isset($parameters[$i]) ? $parameters[$i] : $parameters[$key]; $result = DoctrineExtension::escapeFunction($value); $i++; return $result; }, $query); $result = \SqlFormatter::highlight($result); $result = str_replace(array("<pre ", "</pre>"), array("<span ", "</span>"), $result); return $result; }