在 2.2.7 的项目中有这样的代码:
$select->where->expression('CXORDERNUMBER = "' . $orderNumber . '"', null);
尝试为 2.4.9 更新此内容时,出现以下错误:
*Zend\Db\Sql\Exception\RuntimeException
表达式中的替换次数与参数个数不匹配*
我不得不将其更改为以下内容,这对我来说也更熟悉:
$select->where(array("CXORDERNUMBER" => $orderNumber));
代码中有很多这样的表达式。有时我无法以上述方式更改它。有人可以解释一下,为什么在较新版本的 ZF 中会发生这种情况?
谢谢!
更新:
表达式必须像这样使用: $select->where->expression('CXORDERNUMBER = ?', array($orderNumber));
在 2.4.9 中,始终有一个参数集,并且不会像在 2.2.7 中那样被忽略,并且具有空值