<?php /** * The newest version of the PearDB adapter includes a hack to type number column * types as numbers, despite the fact that PHP does not offer this kind of info by default * * A contribution of Jaybee Reeves * * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright (c) 2003 amfphp.org * @package flashservices * @subpackage adapters * @version $Id$ */ require_once(AMFPHP_BASE . "shared/adapters/RecordSetAdapter.php"); class peardbAdapter extends RecordSetAdapter { /** * Constructor method for the adapter. This constructor implements the setting of the * 3 required properties for the object. * * @param resource $d The datasource resource */ function peardbAdapter($d) { parent::RecordSetAdapter($d); $fieldcount = $d->numCols(); $intFields = array(); $info = $d->dbh->tableInfo($d); for($i = 0; $i < $fieldcount; $i++) { $this->columnNames[$i] = $this->_charsetHandler->transliterate($info[$i]['name']); $type = $info[$i]['type']; if(in_array($type, array('int', 'real', 'year'))) { $intFields[] = $i; } } if($d->numRows() > 0) { $line = $d->fetchRow(DB_FETCHMODE_ORDERED, 0); do { foreach($intFields as $key => $val) { $line[$val] = (float) $line[$val]; } $this->rows[] = $line; } while ($line = $d->fetchRow(DB_FETCHMODE_ORDERED, $rows)); } } } ?>