Postgres_DbDriver.object
上传用户:xiao730204
上传日期:2007-01-04
资源大小:141k
文件大小:2k
源码类别:

WEB邮件程序

开发平台:

PHP

  1. <?php
  2. class Postgres_DbDriver extends BaseObject {
  3.    var $sql_statement;
  4.    var $db_connection_handle;
  5.    var $db_result;
  6.    var $db_result_return;
  7.    var $debug;
  8.    /* Postgres specific */
  9.    var $num_rows;
  10.    var $cur_row;
  11.    Function Postgres_DbDriver() {
  12.       $this->BaseObject( 'Postgres_DbDriver' );
  13.       $this->sql_statement        = '';
  14.       $this->db_connection_handle = '';
  15.       $this->db_result            = '';
  16.       $this->db_result_return     = 0;
  17.       $this->num_rows             = 0;
  18.       $this->cur_row              = 0;
  19.       $this->debug                = new Debug();
  20.       $this->debug->prefix        = 'Postgres_Db::DbDriver';
  21.       $this->debug->On(); 
  22.    }
  23.    Function Exec() {
  24.       $this->debug->Message(
  25.          'Execing sql stmt : ' . "n" .
  26.          $this->sql_statement  . "n"
  27.       );
  28.       $this->db_result_return = ( 
  29.             $this->db_result = @pg_Exec(
  30.                $this->db_connection_handle,
  31.                $this->sql_statement
  32.             )
  33.       );
  34.       if ( $this->db_result_return == false ) {
  35.          $error_string = @pg_ErrorMessage( $this->$db_connection_handle );
  36.          $this->debug->Message( $error_string );
  37.          return false;
  38.       } else {
  39.          $this->db_result_return = true;
  40.          return true;
  41.       }
  42.    }
  43.    Function GetInsertId() {
  44.          //return @mysql_insert_id( $this->db_result );
  45.          return -1;
  46.    }
  47.    Function FetchRow() {
  48.       /* If the sql hasn't been ran dammit run it */
  49.       if ( $this->db_result_return != true ) { $this->Exec(); }
  50.       if ( $this->db_result_return == true ) {
  51.       $this->num_rows  = @pg_NumRows( $this->db_result );
  52.       if ( $this->cur_row < $this->num_rows ) {
  53.          /* Increment up the current row for the next iteration */
  54.          $this->cur_row   += 1;
  55.          return @pg_Fetch_Row( $this->db_result, $this->cur_row - 1);
  56.       } else { 
  57.          return false;
  58.       }
  59.       } else {
  60.       /* Whooo bad high... out of rows and or out of command */
  61.       return false;
  62.       }
  63.    }
  64.    Function FetchCell( $xx, $yy ) {
  65.       /* If the sql hasn't been ran dammit run it */
  66.    /*   if ( $this->db_result_return != true ) {
  67.       $this->Exec();
  68.       }
  69.       if ( $this->db_result_return == true ) {
  70.          if ( @mysql_data_seek( $this->db_result, $yy ) ) {
  71.             return @mysql_fetch_field( $this->db_result, xx );
  72.          }
  73.       } else {
  74.       return false;
  75.       }
  76. */
  77.    }
  78. }
  79. ?>