Home » Database » DB » Bug #3347
ifx, numRows bug
Details
| Submitted | 2005-02-01 14:54 UTC |
|---|---|
| From | patafian2000 at wp dot pl |
| Assigned | danielc |
| Status | Closed |
| Package | DB |
| PHP Version | 5.0.3 |
| OS | Linux |
| 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