【问题标题】:How do I perform a query using ZF2 Firebird_PDO如何使用 ZF2 Firebird_PDO 执行查询
【发布时间】:2015-05-19 11:00:14
【问题描述】:

我在这里做错了什么?

$adapter = new Adapter(array(
        'driver'   => 'Pdo_Firebird',
        'database' => 'localhost:c:/firebird/mydb.fdb',
        'username' => 'SYSDBA',
        'password' => 'mypass'
));

$sql = 'SELECT * USERS';
$statement = $adapter->createStatement($sql);
$result = $statement->execute();

如果我检查 $result->count() 我总是得到零 (0)。但是我知道这个查询应该产生结果。

我没有收到任何错误。

【问题讨论】:

  • Firebird 在获取行之前不知道有结果。 Firebird 的大多数驱动程序在您实际请求行之前不会获取。此外,在获取所有行之前,查询生成的总行数是未知的。

标签: php pdo zend-framework2 firebird


【解决方案1】:

好的,所以看起来我实际上得到了一个结果,即使 $result->count = 0。

所以我必须在上面的代码之后添加以下几行;

$resultSet = new ResultSet;
$resultSet->initialize($result);
foreach ($resultSet as $row)
{
    echo $row->LOGIN . '<BR>';
}

感觉有点啰嗦。这是最好的方法吗?我想我应该添加一些检查以查看是否返回了任何结果。但我看不到执行此检查的正确方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2021-05-06
    相关资源
    最近更新 更多