<?php
/**
* The newest version of the MySQL 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
*
* @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 mysqlAdapter 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 mysqlAdapter($d) {
parent::RecordSetAdapter($d);
$fieldcount = mysql_num_fields($d);
$intFields = array();
for($i = 0; $i < $fieldcount; $i++)
{
$this->columns[] = mysql_field_name($d, $i);
$type = mysql_field_type($d, $i);
if(in_array($type, array('int', 'real', 'year')))
{
$intFields[] = $i;
}
}
while($row = mysql_fetch_row($d))
{
foreach($intFields as $key => $val)
{
$row[$val] = (float) $row[$val];
}
$this->rows[] = $row;
}
}
}
?>