Zend 3直接Sql查询执行

问题描述 投票:0回答:1

Zend 3有默认的表网关功能,如Select,Insert,Delete和Update,但我想执行Direct Sql Prepared Statement查询,如下所示

$Qry = "SELECT * FROM ".$this->tableNames['UserTable']." WHERE LOWER(Email) = '".strtolower($Email)."' AND Password = '".md5($Password)."'";
            $statement = $this->adapter->query($Qry); 
            $SelectCond = $statement->execute(); 

上面的代码与zend 2.4一起工作正常,但是有任何可能性如在zend 3上执行直接查询

php zend-framework zend-framework3
1个回答
0
投票

确保你在这里获得$ adapter,如果没有尝试获得适配器。

$adapter = $this->getServiceManager()->get('adapter-name'); // 
$results = $adapter->query($Qry)->execute(); 

要么,

$results = $adapter->query($Qry, \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);

如果你留下$adapter->query($Qry)的第二个参数,你将得到一个你需要执行的\Zend\Db\Adapter\Driver\StatementInterface

© www.soinside.com 2019 - 2024. All rights reserved.