Skip to content

Commit a3d0763

Browse files
committed
Changed logic of replacing named parameters in query
1 parent ea36f95 commit a3d0763

File tree

1 file changed

+2
-15
lines changed

1 file changed

+2
-15
lines changed

src/DbWrap.php

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ protected function buildQuery($query, array $parameters = null)
554554
{
555555
$value = "NULL";
556556
}
557-
$query = Strings::replace($query, $name, "$value");
557+
$query = preg_replace("/({$name})(,|\s+|$|\(|\))/", "{$value}$2", $query);
558558
}
559559
}
560560
return $query;
@@ -713,20 +713,7 @@ protected function processCriteria($criteria, &$parameters, &$register, $tableOr
713713
{
714714
$oldParameterName = $parameterName;
715715
$parameterName = $parameterName . "_" . ($register[$parameterName] - 1);
716-
$replaced = false;
717-
foreach ([" ", ",", ")"] as $stringEnd)
718-
{
719-
if (Strings::contains($expression, ":" . $oldParameterName . $stringEnd))
720-
{
721-
$expression = Strings::replace($expression, ":" . $oldParameterName . $stringEnd, ":" . $parameterName . $stringEnd);
722-
$replaced = true;
723-
break;
724-
}
725-
}
726-
if (!$replaced)
727-
{
728-
throw new LogicException("Not implemented.");
729-
}
716+
$expression = preg_replace("/(:{$oldParameterName})(,|\s+|$|\(|\))/", ":{$parameterName}$2", $expression);
730717
}
731718
$parameters[$parameterName] = $value;
732719
}

0 commit comments

Comments
 (0)