ZF2 Sql使用命名参数

时间:2014-07-29 09:40:30

标签: php sql zend-framework2 named-parameters

是否可以在Zend Framework 2中的Select,Update或Delete查询对象中使用命名参数? e.g。

$myValue = 'FooBar';

$sql = new Zend\Db\Sql\Sql($adapter);
$select = $sql->select('my_table')
              ->where('my_column = :my_value')
              ->setParameter('my_value', $myValue);

1 个答案:

答案 0 :(得分:4)

从未这样做,但在旧版本的ZEND上找到答案 here

所以回答你的问题是的,这是可能的。正如在网站上解释的那样。 "如果使用命名参数,或者由字符串标识符开头的冒号(':'),请在关联数组中传递绑定值。此数组的键应与参数名称匹配。 "

$select = $sql->select('my_table')
                      ->where('my_coumn = :my_value');
                      //->setParameter('my_value', $myValue);

        $statement = $sql->prepareStatementForSqlObject($select);
        $result = $statement->execute((array(':my_value' => 'FooBar')));//you pass named parameters here in an associative array
        $resultSet = new ResultSet();
        $resultSet->initialize($result);

        return $resultSet->toArray();

祝你好运。