【发布时间】:2015-12-21 13:28:45
【问题描述】:
在 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 中那样被忽略为空值
【问题讨论】:
标签: zend-framework2 tablegateway