PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Database » DB » Bug #3347

ifx, numRows bug

Details

Submitted2005-02-01 14:54 UTC
Frompatafian2000 at wp dot pl
Assigneddanielc
StatusClosed
PackageDB
PHP Version5.0.3
OSLinux
Roadmaps(Not assigned)

Comments

[2005-02-01 14:54 UTC] patafian2000 at wp dot pl

Description:
------------
Database: Informix

$dsn = array(
'phptype' => 'ifx'
... etc.
);

I want to get number of record in result, but function numRows() give me Object id.

Reproduce code:
---------------
$res =& $db->query('SELECT * FROM auth');
if (DB::isError($res)) {
die($db->getMessage());
} else echo "NumRows: ".$res->numRows();

Expected result:
----------------
NumRows: 1

Actual result:
--------------
NumRows: Object id #5

[2005-02-03 07:13 UTC] patafian2000 at wp dot pl

Source:
<?php
require_once 'DB.php';

$dsn = 'ifx://xxx:xxx@swantcp/xxx';
$db =& DB::connect($dsn);

if (DB::isError($db)) {
die($db->getMessage());
}

$db->setErrorHandling(PEAR_ERROR_DIE);
$db->query('CREATE TABLE blah (a integer)');
$db->query('INSERT INTO blah (a) VALUES (5)');
$res =& $db->query('SELECT a FROM blah');
echo $res->numRows() . "\n";
$res->free() . "\n";
$db->query('DROP TABLE blah');

?>

Output:
DB Error: DB backend not capable

[2005-02-04 08:17 UTC] patafian2000 at wp dot pl

Source:
<?php
require_once 'DB.php';
$dsn = 'ifx://informix:qwer1234@swantcp/swan';
$db =& DB::connect($dsn);
if (DB::isError($db)) {
die($db->getMessage());
}
$db->setErrorHandling(PEAR_ERROR_DIE);
$db->query('CREATE TABLE blah (a integer)');
$db->query('INSERT INTO blah (a) VALUES (5)');
$db->query('INSERT INTO blah (a) VALUES (5)');
$db->query('INSERT INTO blah (a) VALUES (5)');
$res =& $db->query('SELECT a FROM blah');
echo ifx_num_rows($res->result) . "\n";
$res->fetchInto($tmp);
echo ifx_num_rows($res->result) . "\n";
$res->free() . "\n";
$db->query('DROP TABLE blah');
?>

Output:
0 1