code: private function extractUsedParams(SqlToken $statement, $params)
      {
          preg_match_all('/(?P<placeholder>[:][a-zA-Z0-9_]+)/', $statement->getSql(), $matches, PREG_SET_ORDER);
          $result = [];
          foreach ($matches as $match) {
              $phName = ltrim($match['placeholder'], ':');
              if (isset($params[$phName])) {
                  $result[$phName] = $params[$phName];
              } elseif (isset($params[':' . $phName])) {
                  $result[':' . $phName] = $params[':' . $phName];
              }
          }
          return $result;
      }
docs: Returns named bindings used in the specified statement token.
  @param SqlToken $statement
  @param array $params
  @return array