mysqlAdapter.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * The newest version of the MySQL adapter includes a hack to type number column
  4. * types as numbers, despite the fact that PHP does not offer this kind of info by default
  5. *
  6. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  7. * @copyright (c) 2003 amfphp.org
  8. * @package flashservices
  9. * @subpackage adapters
  10. * @version $Id: mysqlAdapter.php,v 1.1 2005/07/05 07:56:29 pmineault Exp $
  11. */
  12. require_once(AMFPHP_BASE . "shared/adapters/RecordSetAdapter.php");
  13. class mysqlAdapter extends RecordSetAdapter {
  14. /**
  15. * Constructor method for the adapter. This constructor implements the setting of the
  16. * 3 required properties for the object.
  17. *
  18. * @param resource $d The datasource resource
  19. */
  20. function mysqlAdapter($d) {
  21. parent::RecordSetAdapter($d);
  22. $fieldcount = mysql_num_fields($d);
  23. $intFields = array();
  24. for($i = 0; $i < $fieldcount; $i++)
  25. {
  26. $this->columns[] = mysql_field_name($d, $i);
  27. $type = mysql_field_type($d, $i);
  28. if(in_array($type, array('int', 'real', 'year')))
  29. {
  30. $intFields[] = $i;
  31. }
  32. }
  33. while($row = mysql_fetch_row($d))
  34. {
  35. foreach($intFields as $key => $val)
  36. {
  37. $row[$val] = (float) $row[$val];
  38. }
  39. $this->rows[] = $row;
  40. }
  41. }
  42. }
  43. ?>