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上执行直接查询
答案 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
,需要执行。