Zend 3直接Sql查询执行

时间:2019-03-05 09:09:15

标签: php zend-framework zend-framework3

Zend 3具有默认的表网关功能,例如Select,Insert,Delete和Update,但我想执行如下所示的直接SQL预准备语句查询

$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上执行直接查询

1 个答案:

答案 0 :(得分: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,需要执行。