ZF2:如何使用Zend \ Db进行这个简单的查询

时间:2013-12-02 04:21:37

标签: zend-framework2 zend-db

我有以下语句,但它们返回一个空结果集:

    $sql = 'SELECT * FROM `industry` WHERE `code` LIKE ?';
    $statement = $this->getAdapter()->createStatement($sql, array('A_'));
    $statement->execute();

我做错了什么?我真的不想使用Zend \ Db \ Sql \ Sql,因为它非常详细。

在相关的一点上,我在哪里可以找到有关Zend \ Db操作理论的更多信息?这绝对令人抓狂。为什么有时会返回驱动程序结果?有时一个ResultSet?如何查看完整的SQL(在引用之后但在执行之前?)等等......

2 个答案:

答案 0 :(得分:0)

好的,我错过了Result可迭代的事实(以及ResultSet)。因此,将$ statement-> execute()的结果赋给变量,然后迭代该变量,整理出问题。

此外,您可以在结果对象上调用getResource(),然后从那里访问基础对象(在本例中为PDO语句)。这意味着您可以执行result->getResource()->fetchAll();

之类的操作

答案 1 :(得分:0)

尝试使用此查询。

use Zend\Db\TableGateway\TableGateway;
use Zend\Db\Sql\Sql;

    class tableNameTable
    {

        protected $tableGateway;

        public function __construct(TableGateway $tableGateway)
        {
            $this->tableGateway = $tableGateway;
        }

        Publice function getIndustry(){
            $adapter = $this->tableGateway->getAdapter();
            $statement = $adapter->query("Your Query");
            $results = $statement->execute();

            return $results;
       }

    }