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上执行直接查询
确保你在这里获得$ 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
。