在阅读 Zend Framework 2 文档时:http: //framework.zend.com/manual/2.0/en/modules/zend.db.sql.html给出了两个示例,说明如何从数据库中查询数据。作为参考,它们是:
准备(使用 Select 对象):
use Zend\Db\Sql\Sql;
$sql = new Sql($adapter);
$select = $sql->select();
$select->from('foo');
$select->where(array('id' => 2));
$statement = $sql->prepareStatementForSqlObject($select);
$results = $statement->execute();
执行(使用 Select 对象)
use Zend\Db\Sql\Sql;
$sql = new Sql($adapter);
$select = $sql->select();
$select->from('foo');
$select->where(array('id' => 2));
$selectString = $sql->getSqlStringForSqlObject($select);
$results = $adapter->query($selectString, $adapter::QUERY_MODE_EXECUTE);
我无法在文档中找到任何进一步的说明,说明在某些情况下一种方法可能比另一种方法有哪些优点/缺点。我可以看到,如果我们需要调试 SQL 查询,getSqlStringForSqlObject 将帮助我们这样做。但除此之外,有没有人知道一种方法可能比另一种更好的情况?
谢谢。