@@ -39,30 +39,6 @@ private function checkErrors(string $queryString, array $parameters): iterable
3939 $ queryReflection = new QueryReflection ();
4040 $ placeholderCount = $ queryReflection ->countPlaceholders ($ queryString );
4141
42- $ parameterCount = \count ($ parameters );
43- $ minParameterCount = 0 ;
44- foreach ($ parameters as $ parameter ) {
45- if ($ parameter ->isOptional ) {
46- continue ;
47- }
48- ++$ minParameterCount ;
49- }
50-
51- if (0 === $ parameterCount && 0 === $ minParameterCount ) {
52- if (0 === $ placeholderCount ) {
53- return ;
54- }
55-
56- $ placeholderExpectation = sprintf ('Query expects %s placeholder ' , $ placeholderCount );
57- if ($ placeholderCount > 1 ) {
58- $ placeholderExpectation = sprintf ('Query expects %s placeholders ' , $ placeholderCount );
59- }
60-
61- yield sprintf ($ placeholderExpectation .', but no values are given. ' , $ placeholderCount );
62-
63- return ;
64- }
65-
6642 yield from $ this ->checkParameterValues ($ queryString , $ parameters , $ placeholderCount );
6743 }
6844
@@ -84,13 +60,19 @@ private function checkParameterValues(string $queryString, array $parameters, in
8460 ++$ minParameterCount ;
8561 }
8662
63+ if (0 === $ parameterCount && 0 === $ minParameterCount && 0 === $ placeholderCount ) {
64+ return ;
65+ }
66+
8767 if ($ parameterCount !== $ placeholderCount && $ placeholderCount !== $ minParameterCount ) {
8868 $ placeholderExpectation = sprintf ('Query expects %s placeholder ' , $ placeholderCount );
8969 if ($ placeholderCount > 1 ) {
9070 $ placeholderExpectation = sprintf ('Query expects %s placeholders ' , $ placeholderCount );
9171 }
9272
93- if ($ minParameterCount !== $ parameterCount ) {
73+ if (0 === $ parameterCount ) {
74+ $ parameterActual = 'but no values are given ' ;
75+ } elseif ($ minParameterCount !== $ parameterCount ) {
9476 $ parameterActual = sprintf ('but %s values are given ' , $ minParameterCount .'- ' .$ parameterCount );
9577 } else {
9678 $ parameterActual = sprintf ('but %s value is given ' , $ parameterCount );
0 commit comments