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 » Internationalization » Translation2 » Bug #8915

Fetching vom Database does not work with Oracle

Details

Submitted2006-10-09 09:09 UTC
Fromd dot schwarz at lise dot de
Assignedquipo
StatusClosed
PackageTranslation2
PHP Version5.0.4
OSWindows
Roadmaps(Not assigned)

Comments

[2006-10-09 09:09 UTC] d dot schwarz at lise dot de

Description:
------------
Since Oracle uses uppercase column-namens i had to change some Indeses from ['id'] to ['ID'] in the container classes to work.

Strange, but this little change helped in my situation

Test script:
---------------
// example for changed fetchLangs function in db.php-Container

// }}}
// {{{ fetchLangs()

/**
* Fetch the available langs if they're not cached yet.
*/
function fetchLangs()
{
$query = sprintf('SELECT %s AS id, %s AS name, %s AS meta, %s AS error_text, %s AS encoding FROM %s',
$this->db->quoteIdentifier($this->options['lang_id_col']),
$this->db->quoteIdentifier($this->options['lang_name_col']),
$this->db->quoteIdentifier($this->options['lang_meta_col']),
$this->db->quoteIdentifier($this->options['lang_errmsg_col']),
$this->db->quoteIdentifier($this->options['lang_encoding_col']),
$this->db->quoteIdentifier($this->options['langs_avail_table'])
);

++$this->_queries;
$res = $this->db->getAll($query, DB_FETCHMODE_ASSOC);
if (PEAR::isError($res)) {
return $res;
}
foreach ($res as $row) {
$this->langs[$row['ID']] = $row;
}
}

Expected result:
----------------
it works :-)

otherwise i allways get "object #resourceId"

[2006-10-09 10:58 UTC] d dot schwarz at lise dot de

...
$db = DB::connect("oci8://lise:PASSWORD@MYDB");
$query = 'SELECT id AS aliasname FROM langs_avail';

$row = $db->getRow($query, DB_FETCHMODE_ASSOC);
print_r(array_keys($row));
?>

results in

Array ( [0] => ALIASNAME )

really! :-)

if you use another application to confirm this (e. g. toad), you get the same result: uppercased aliasnames.