home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / fetchmode_object.inc < prev    next >
Encoding:
Text File  |  2004-03-24  |  2.2 KB  |  85 lines

  1. <?php
  2. error_reporting(E_ALL);
  3.  
  4. /**
  5.  * Local error callback handler.
  6.  *
  7.  * Drops the phptest table, prints out an error message and kills the
  8.  * process.
  9.  *
  10.  * @param object  $o  PEAR error object automatically passed to this method
  11.  * @return void
  12.  * @see PEAR::setErrorHandling()
  13.  */
  14. function pe($o) {
  15.     global $dbh;
  16.  
  17.     $dbh->setErrorHandling(PEAR_ERROR_RETURN);
  18.     $dbh->query('DROP TABLE phptest');
  19.  
  20.     die($o->toString());
  21. }
  22.  
  23.  
  24. function print_obj(&$obj) {
  25.     if (!is_object($obj)) {
  26.         echo "ERROR: no object!\n";
  27.     } else {
  28.         echo strtolower(get_class($obj)) . ' -> ' . implode(' ', array_keys((array)$obj)) . "\n";
  29.     }
  30. }
  31.  
  32.  
  33. $dbh->setErrorHandling(PEAR_ERROR_CALLBACK, 'pe');
  34.  
  35. echo "--- fetch with param DB_FETCHMODE_OBJECT ---\n";
  36. $sth = $dbh->query("SELECT * FROM phptest");
  37. $row = $sth->fetchRow(DB_FETCHMODE_OBJECT);
  38. print_obj($row);
  39. $sth = $dbh->query("SELECT * FROM phptest");
  40. $sth->fetchInto($row, DB_FETCHMODE_OBJECT);
  41. print_obj($row);
  42.  
  43. echo "--- fetch with default fetchmode DB_FETCHMODE_OBJECT ---\n";
  44. $dbh->setFetchMode(DB_FETCHMODE_OBJECT);
  45. $sth = $dbh->query("SELECT * FROM phptest");
  46. $row = $sth->fetchRow();
  47. print_obj($row);
  48. $sth = $dbh->query("SELECT * FROM phptest");
  49. $sth->fetchInto($row);
  50. print_obj($row);
  51.  
  52. echo "--- fetch with default fetchmode DB_FETCHMODE_OBJECT and class DB_row ---\n";
  53. $dbh->setFetchMode(DB_FETCHMODE_OBJECT, 'DB_row');
  54. $sth = $dbh->query("SELECT * FROM phptest");
  55. $row = $sth->fetchRow();
  56. print_obj($row);
  57. $sth = $dbh->query("SELECT * FROM phptest");
  58. $sth->fetchInto($row);
  59. print_obj($row);
  60.  
  61. echo "--- fetch with default fetchmode DB_FETCHMODE_OBJECT with no class then DB_row ---\n";
  62. $dbh->setFetchMode(DB_FETCHMODE_OBJECT);
  63. $sth = $dbh->query('SELECT * FROM phptest');
  64. $row = $sth->fetchRow();
  65. print_obj($row);
  66. $dbh->setFetchMode(DB_FETCHMODE_OBJECT, 'DB_row');
  67. $sth = $dbh->query('SELECT * FROM phptest');
  68. $row = $sth->fetchRow();
  69. print_obj($row);
  70.  
  71.  
  72. switch ($dbh->phptype) {
  73.     case 'ibase':
  74.         /*
  75.          * Interbase doesn't allow dropping tables that have result
  76.          * sets still open.
  77.          */
  78.         $dbh->freeResult($sth->result);
  79.         break;
  80. }
  81. $dbh->setErrorHandling(PEAR_ERROR_RETURN);
  82. $dbh->query('DROP TABLE phptest');
  83.  
  84. ?>
  85.