Zend 3 直接 Sql 查询执行
Zend 3 Direct Sql Query Execute
Zend 3 具有默认 Table 网关功能,如 Select、插入、删除和更新,但我想执行直接 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 上执行直接查询
确保你在此处获取 $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
。
Zend 3 具有默认 Table 网关功能,如 Select、插入、删除和更新,但我想执行直接 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 上执行直接查询
确保你在此处获取 $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
。