'无计数结果集中没有行计数。'使用Zend Table Gateway

时间:2014-11-02 18:34:58

标签: php zend-framework zend-framework2

我正在尝试将Zend TableGateway用作我的应用程序(不是ZF2)的独立组件。

下面是一个简单的测试脚本,只是获取一些行,但我收到了错误

  

未捕获的异常'Zend \ Db \ Adapter \ Exception \ RuntimeException',带有消息'行计数在无缓冲的结果集中不可用'。在/var/www/shared-views-slim/vendor/zendframework/zend-db/Zend/Db/Adapter/Driver/Mysqli/Result.php:324

以下是我的代码:

/**
 * This makes our life easier when dealing with paths. Everything is relative
 * to the application root now.
 */
chdir(dirname(__DIR__));

// require composer autoloader for loading classes
require 'vendor/autoload.php';

// testing

$adapter = new Zend\Db\Adapter\Adapter(array(
    'driver' => 'Mysqli',
    'database' => 'budget_development',
    'username' => 'root',
    'password' => 'mypasswd'
));

use Zend\Db\TableGateway\TableGateway;
$accountsTable = new TableGateway('accounts', $adapter);

// search for at most 2 artists who's name starts with Brit, ascending
$rowset = $accountsTable->select();

var_dump($rowset);

有谁知道如何解决这个问题?我真的不明白我需要做什么。

2 个答案:

答案 0 :(得分:3)

您使用过缓冲结果,通常用于大数据集。正如您正在寻找艺术家(正如您所评论的那样),这不是必需的。

可能有一个ini文件集,例如:

  'db' => array(
   'options' => array(
    'buffer_results' => true,
   ),

(它是buffer_results部分)。

提示:看看config / autoload / global.php,它在我的应用程序中的位置。

答案 1 :(得分:1)

也许有人帮助了这个

  'driver' => 'PdoMysql',

使用PdoMysql驱动程序。这项工作4我