Extbase:
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Persistence / Storage / Typo3DbBackend.php
index 42bf9fe..edff1e0 100644 (file)
@@ -272,8 +272,6 @@ class Tx_Extbase_Persistence_Storage_Typo3DbBackend implements Tx_Extbase_Persis
 
                if ($comparison->getOperand2() instanceof Tx_Extbase_Persistence_QOM_BindVariableValueInterface) {
                        $parameters[] = $boundVariableValues[$comparison->getOperand2()->getBindVariableName()];
-               } elseif ($comparison->getOperand2() instanceof Tx_Extbase_Persistence_QOM_LiteralInterface) {
-                       $parameters[] = $comparison->getOperand2()->getLiteralValue();
                }
        }
 
@@ -353,6 +351,7 @@ class Tx_Extbase_Persistence_Storage_Typo3DbBackend implements Tx_Extbase_Persis
         * @return string The query part with replaced placeholders
         */
        protected function replacePlaceholders(&$sqlString, array $parameters) {
+               if (substr_count($sqlString, '?') !== count($parameters)) throw new Tx_Extbase_Persistence_Exception('The number of question marks to replace must be equal to the number of parameters.', 1242816074);
                foreach ($parameters as $parameter) {
                        $markPosition = strpos($sqlString, '?');
                        if ($markPosition !== FALSE) {
@@ -437,4 +436,4 @@ class Tx_Extbase_Persistence_Storage_Typo3DbBackend implements Tx_Extbase_Persis
 
 }
 
-?>
+?>
\ No newline at end of file