home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / MDB_pear_wrapper_test.php < prev    next >
Encoding:
PHP Script  |  2004-03-24  |  4.6 KB  |  119 lines

  1. <?php
  2. // $Id: MDB_pear_wrapper_test.php,v 1.21 2003/01/18 21:35:19 lsmith Exp $
  3. //
  4. // MDB test script for the PEAR DB Wrapper.
  5. //
  6.  
  7. // BC hack to define PATH_SEPARATOR for version of PHP prior 4.3
  8. if(!defined('PATH_SEPARATOR')) {
  9.     if(defined('DIRECTORY_SEPARATOR') && DIRECTORY_SEPARATOR == "\\") {
  10.         define('PATH_SEPARATOR', ';');
  11.     } else {
  12.         define('PATH_SEPARATOR', ':');
  13.     }
  14. }
  15. ini_set('include_path', '..'.PATH_SEPARATOR.ini_get('include_path'));
  16.  
  17.     require_once('MDB.php');
  18.     MDB::loadFile('peardb_wrapper');
  19.     require_once('Var_Dump.php');
  20.  
  21.     // just for kicks you can mess up this part to see some pear error handling
  22.     $user = 'metapear';
  23.     $pass = 'funky';
  24.     //$pass = '';
  25.     $host = 'localhost';
  26.     $db_name = 'metapear_test_db';
  27.     // Data Source Name: This is the universal connection string
  28.     $dsn = "mysql://$user:$pass@$host/$db_name";
  29.     // MDB::connect will return a Pear DB object on success
  30.     // or a Pear DB Error object on error
  31.     // You can also set to TRUE the second param
  32.     // if you want a persistent connection:
  33.     // $db = DB::connect($dsn, TRUE);
  34.     $db =& DB::connect($dsn);
  35.     // With DB::isError you can differentiate between an error or
  36.     // a valid connection.
  37.     //echo(Var_Dump::display($db).'<br>');
  38.     if (DB::isError($db)) {
  39.         die (__LINE__.$db->getMessage());
  40.     }
  41.  
  42.     // happy query
  43.     $query ='SELECT * FROM test';
  44.     echo('query for the following examples:'.$query.'<br>');
  45.     echo('<br>field:<br>'.$db->getOne($query).'<br>');
  46.  
  47.     // run the query and get a result handler
  48.     $result = $db->simpleQuery($query);
  49.     echo('<br>tableInfo() ');
  50.     Var_Dump::display($db->tableInfo($result));
  51.  
  52.     $result = $db->query($query);
  53.     echo('<br>numCols() ');
  54.     Var_Dump::display($result->numCols());
  55.     $result->fetchInto($arr);
  56.     echo('<br>fetchInto() ');
  57.     Var_Dump::display($arr);
  58.     echo('<br>free() ');
  59.     Var_Dump::display($result->free());
  60.  
  61.     $result = $db->query($query);
  62.     echo('<br>numRows() ');
  63.     Var_Dump::display($result->numRows());
  64.     echo('<br>fetchRow() ');
  65.     Var_Dump::display($result->fetchRow());
  66.  
  67.     // lets create a sequence on demand
  68.     echo('<br>get the next id using on demand:<br>');
  69.     echo('<br>nextId:'.$db->nextId('real_funky_id_2'));
  70.     echo('<br>dropSequence:'.$db->dropSequence('real_funky_id_2'));
  71.     // lets create a sequence
  72.     echo('<br>create a new seq with start 3 name real_funky_id<br>');
  73.     $err = $db->createSequence('real_funky_id',3);
  74.     if (DB::isError($err)) {
  75.         echo('<br>could not create sequence again<br>');
  76.     }
  77.  
  78.     echo('<br>get the next id:<br>');
  79.     echo($db->nextId('real_funky_id').'<br>');
  80.     // lets try an prepare execute combo
  81.     $alldata = array(  array(1, 'one', 'un'),
  82.                        array(2, 'two', 'deux'),
  83.                        array(3, 'three', 'trois'),
  84.                        array(4, 'four', 'quatre'));
  85.     $prepared_query = $db->prepare('INSERT INTO numbers VALUES(?,?,?)');
  86.     foreach ($alldata as $row) {
  87.         echo('running execute<br>');
  88.         $db->execute($prepared_query, $row);
  89.     }
  90.     // lets try an prepare execute combo
  91.     $alldata = array(  array(5, 'five', 'cinq'),
  92.                        array(6, 'six', 'six'),
  93.                        array(7, 'seven', 'sept'),
  94.                        array(8, 'eight', 'huit'));
  95.     $prepared_query = $db->prepare('INSERT INTO numbers VALUES(?,?,?)');
  96.     $db->executeMultiple($prepared_query, $alldata);
  97.     echo('running executeMultiple<br>');
  98.     $array = array(4);
  99.     echo('<br>see getOne in action:<br>'.$db->getOne('SELECT trans_en FROM numbers WHERE number = ?',$array).'<br>');
  100.     // You can disconnect from the database with:
  101.     echo('<br>see getRow in action:<br>');
  102.     echo(Var_Dump::display($db->getRow('SELECT * FROM numbers WHERE number = ?',$array)).'<br>');
  103.     echo('<br>see getCol in action:<br>');
  104.     echo(Var_Dump::display($db->getCol('SELECT * FROM numbers', 1)).'<br>');
  105.     echo('<br>see getAll in action:<br>');
  106.     echo(Var_Dump::display($db->getAll('SELECT * FROM test')).'<br>');
  107.     echo('<br>see getAssoc in action:<br>');
  108.     echo(Var_Dump::display($db->getAssoc('SELECT * FROM test', FALSE, '', DB_FETCHMODE_ASSOC)).'<br>');
  109.     echo('tableInfo on a string:<br>');
  110.     echo(Var_Dump::display($db->tableInfo('numbers')).'<br>');
  111.     echo('<br>just a simple delete query:<br>');
  112.     echo(Var_Dump::display($db->query('UPDATE numbers set trans_en = 0')).'<br>');
  113.     echo('<br>affected rows:<br>');
  114.     echo($db->affectedRows().'<br>');
  115.     echo('<br>just a simple delete query:<br>');
  116.     echo(Var_Dump::display($db->query('DELETE FROM numbers')).'<br>');
  117.     $db->disconnect();
  118. ?>
  119.