Class DB_odbc

Description

The methods PEAR DB uses to interact with PHP's odbc extension for interacting with databases via ODBC connections

These methods overload the ones declared in DB_common.

More info on ODBC errors could be found here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/trblsql/tr_err_odbc_5stz.asp

Located in /web/lib/external/pear-db/DB/odbc.php (line 50)

PEAR
   |
   --DB_common
      |
      --DB_odbc
Variable Summary
 resource $connection
 string $dbsyntax
 array $dsn
 array $features
 string $phptype
Method Summary
 void DB_odbc ()
 int affectedRows ()
 int autoCommit ([bool $onoff = false])
 int commit ()
 int connect (array $dsn, [bool $persistent = false])
 int createSequence (string $seq_name)
 bool disconnect ()
 int dropSequence (string $seq_name)
 string errorNative ()
 mixed fetchInto (resource $result,  &$arr, int $fetchmode, [int $rownum = null], array $arr)
 bool freeResult (resource $result)
 string getSpecialQuery (string $type)
 int nextId (string $seq_name, [boolean $ondemand = true])
 true nextResult (a $result)
 int numCols (resource $result)
 int numRows (resource $result)
 object the odbcRaiseError ([int $errno = null])
 void quote ( $str)
 string quoteIdentifier (string $str)
 int rollback ()
 mixed simpleQuery (string $query)
 array tableInfo (object|string $result, [int $mode = null])
Variables
resource $connection (line 135)

The raw database connection created by PHP

string $dbsyntax = 'sql92' (line 64)

The database syntax variant to be used (db2, access, etc.), if any

array $dsn = array() (line 141)

The DSN information for connecting to a database

array $errorcode_map = array(
'01004' => DB_ERROR_TRUNCATED,
'07001' => DB_ERROR_MISMATCH,
'21S01' => DB_ERROR_VALUE_COUNT_ON_ROW,
'21S02' => DB_ERROR_MISMATCH,
'22001' => DB_ERROR_INVALID,
'22003' => DB_ERROR_INVALID_NUMBER,
'22005' => DB_ERROR_INVALID_NUMBER,
'22008' => DB_ERROR_INVALID_DATE,
'22012' => DB_ERROR_DIVZERO,
'23000' => DB_ERROR_CONSTRAINT,
'23502' => DB_ERROR_CONSTRAINT_NOT_NULL,
'23503' => DB_ERROR_CONSTRAINT,
'23504' => DB_ERROR_CONSTRAINT,
'23505' => DB_ERROR_CONSTRAINT,
'24000' => DB_ERROR_INVALID,
'34000' => DB_ERROR_INVALID,
'37000' => DB_ERROR_SYNTAX,
'42000' => DB_ERROR_SYNTAX,
'42601' => DB_ERROR_SYNTAX,
'IM001' => DB_ERROR_UNSUPPORTED,
'S0000' => DB_ERROR_NOSUCHTABLE,
'S0001' => DB_ERROR_ALREADY_EXISTS,
'S0002' => DB_ERROR_NOSUCHTABLE,
'S0011' => DB_ERROR_ALREADY_EXISTS,
'S0012' => DB_ERROR_NOT_FOUND,
'S0021' => DB_ERROR_ALREADY_EXISTS,
'S0022' => DB_ERROR_NOSUCHFIELD,
'S1009' => DB_ERROR_INVALID,
'S1090' => DB_ERROR_INVALID,
'S1C00' => DB_ERROR_NOT_CAPABLE,
)
(line 98)

A mapping of native error codes to DB error codes

array $features = array(
'limit' => 'emulate',
'new_link' => false,
'numrows' => true,
'pconnect' => true,
'prepare' => false,
'ssl' => false,
'transactions' => false,
)
(line 84)

The capabilities of this DB implementation

The 'new_link' element contains the PHP version that first provided new_link support for this DBMS. Contains false if it's unsupported.

Meaning of the 'limit' element:

  • 'emulate' = emulate with fetch row by number
  • 'alter' = alter the query
  • false = skip rows
NOTE: The feature set of the following drivers are different than the default:
  • solid: 'transactions' = true
  • navision: 'limit' = false

string $phptype = 'odbc' (line 58)

The DB driver type (mysql, oci8, odbc, etc.)

Inherited Variables

Inherited from DB_common

DB_common::$fetchmode
DB_common::$fetchmode_object_class
DB_common::$last_parameters
DB_common::$last_query
DB_common::$options
DB_common::$prepared_queries
DB_common::$prepare_tokens
DB_common::$prepare_types
DB_common::$was_connected
DB_common::$_last_query_manip
DB_common::$_next_query_manip
Methods
Constructor DB_odbc (line 160)

This constructor calls $this->DB_common()

void DB_odbc ()
affectedRows (line 408)

Determines the number of rows affected by a data maniuplation query

  1. is returned for queries that don't manipulate data.

  • return: the number of rows. A DB_Error object on failure.
int affectedRows ()

Redefinition of:
DB_common::affectedRows()
Determines the number of rows affected by a data maniuplation query
autoCommit (line 598)

Enables or disables automatic commits

  • return: DB_OK on success. A DB_Error object if the driver doesn't support auto-committing transactions.
int autoCommit ([bool $onoff = false])
  • bool $onoff: true turns it on, false turns it off

Redefinition of:
DB_common::autoCommit()
Enables or disables automatic commits
commit (line 614)

Commits the current transaction

  • return: DB_OK on success. A DB_Error object on failure.
int commit ()

Redefinition of:
DB_common::commit()
Commits the current transaction
connect (line 181)

Connect to the database server, log in and open the database

Don't call this method directly. Use DB::connect() instead.

PEAR DB's odbc driver supports the following extra DSN options:

  • cursor The type of cursor to be used for this connection.

  • return: DB_OK on success. A DB_Error object on failure.
int connect (array $dsn, [bool $persistent = false])
  • array $dsn: the data source name
  • bool $persistent: should the connection be persistent?
createSequence (line 561)

Creates a new sequence

int createSequence (string $seq_name)
  • string $seq_name: name of the new sequence

Redefinition of:
DB_common::createSequence()
Creates a new sequence
disconnect (line 240)

Disconnects from the database server

  • return: TRUE on success, FALSE on failure
bool disconnect ()
dropSequence (line 582)

Deletes a sequence

int dropSequence (string $seq_name)
  • string $seq_name: name of the sequence to be deleted

Redefinition of:
DB_common::dropSequence()
Deletes a sequence
errorNative (line 705)

Gets the DBMS' native error code and message produced by the last query

  • return: the DBMS' error code and message
string errorNative ()

Redefinition of:
DB_common::errorNative()
Gets the DBMS' native error code produced by the last query
fetchInto (line 317)

Places a row from the result set into the given array

Formating of the array and the data therein are configurable. See DB_result::fetchInto() for more information.

This method is not meant to be called directly. Use DB_result::fetchInto() instead. It can't be declared "protected" because DB_result is a separate object.

  • return: DB_OK on success, NULL when the end of a result set is reached or on failure
  • see: DB_result::fetchInto()
mixed fetchInto (resource $result,  &$arr, int $fetchmode, [int $rownum = null], array $arr)
  • resource $result: the query result resource
  • array $arr: the referenced array to put the data in
  • int $fetchmode: how the resulting array should be indexed
  • int $rownum: the row number to fetch (0 = first row)
  • &$arr
freeResult (line 368)

Deletes the result set and frees the memory occupied by the result set

This method is not meant to be called directly. Use DB_result::free() instead. It can't be declared "protected" because DB_result is a separate object.

bool freeResult (resource $result)
  • resource $result: PHP's query result resource
getSpecialQuery (line 818)

Obtains the query string needed for listing a given type of objects

Thanks to symbol1@gmail.com and Philippe.Jausions@11abacus.com.

  • return: the list of objects requested
  • see: DB_common::getListOf()
  • since: Method available since Release 1.7.0
  • access: protected
string getSpecialQuery (string $type)
  • string $type: the kind of objects you want to retrieve

Redefinition of:
DB_common::getSpecialQuery()
Obtains the query string needed for listing a given type of objects
nextId (line 511)

Returns the next free id in a sequence

int nextId (string $seq_name, [boolean $ondemand = true])
  • string $seq_name: name of the sequence
  • boolean $ondemand: when true, the seqence is automatically created if it does not exist

Redefinition of:
DB_common::nextId()
Returns the next free id in a sequence
nextResult (line 289)

Move the internal odbc result pointer to the next available result

  • return: if a result is available otherwise return false
  • access: public
true nextResult (a $result)
  • a $result: valid fbsql result resource
numCols (line 389)

Gets the number of columns in a result set

This method is not meant to be called directly. Use DB_result::numCols() instead. It can't be declared "protected" because DB_result is a separate object.

int numCols (resource $result)
  • resource $result: PHP's query result resource
numRows (line 439)

Gets the number of rows in a result set

Not all ODBC drivers support this functionality. If they don't a DB_Error object for DB_ERROR_UNSUPPORTED is returned.

This method is not meant to be called directly. Use DB_result::numRows() instead. It can't be declared "protected" because DB_result is a separate object.

int numRows (resource $result)
  • resource $result: PHP's query result resource

Redefinition of:
DB_common::numRows()
Determines the number of rows in a query result
odbcRaiseError (line 653)

Produces a DB_Error object regarding the current problem

object the odbcRaiseError ([int $errno = null])
  • int $errno: if the error is being manually raised pass a DB_ERROR* constant here. If this isn't passed the error information gathered from the DBMS.
quote (line 490)
  • deprecated: Deprecated in release 1.6.0
void quote ( $str)
  • $str

Redefinition of:
DB_common::quote()
DEPRECATED: Quotes a string so it can be safely used in a query
quoteIdentifier (line 467)

Quotes a string so it can be safely used as a table or column name

Use 'mssql' as the dbsyntax in the DB DSN only if you've unchecked "Use ANSI quoted identifiers" when setting up the ODBC data source.

string quoteIdentifier (string $str)
  • string $str: identifier name to be quoted

Redefinition of:
DB_common::quoteIdentifier()
Quotes a string so it can be safely used as a table or column name
rollback (line 630)

Reverts the current transaction

  • return: DB_OK on success. A DB_Error object on failure.
int rollback ()

Redefinition of:
DB_common::rollback()
Reverts the current transaction
simpleQuery (line 259)

Sends a query to the database server

  • return: + a PHP result resrouce for successful SELECT queries
    • the DB_OK constant for other successful queries
    • a DB_Error object on failure
mixed simpleQuery (string $query)
  • string $query: the SQL query string
tableInfo (line 732)

Returns information about a table or a result set

  • return: an associative array with the information requested. A DB_Error object on failure.
  • see: DB_common::tableInfo()
  • since: Method available since Release 1.7.0
array tableInfo (object|string $result, [int $mode = null])
  • object|string $result: DB_result object from a query or a string containing the name of a table. While this also accepts a query result resource identifier, this behavior is deprecated.
  • int $mode: a valid tableInfo mode

Redefinition of:
DB_common::tableInfo()
Returns information about a table or a result set

Inherited Methods

Inherited From DB_common

 DB_common::DB_common()
 DB_common::affectedRows()
 DB_common::autoCommit()
 DB_common::autoExecute()
 DB_common::autoPrepare()
 DB_common::buildManipSQL()
 DB_common::commit()
 DB_common::createSequence()
 DB_common::dropSequence()
 DB_common::errorCode()
 DB_common::errorMessage()
 DB_common::errorNative()
 DB_common::escapeSimple()
 DB_common::execute()
 DB_common::executeEmulateQuery()
 DB_common::executeMultiple()
 DB_common::freePrepared()
 DB_common::getAll()
 DB_common::getAssoc()
 DB_common::getCol()
 DB_common::getListOf()
 DB_common::getOne()
 DB_common::getOption()
 DB_common::getRow()
 DB_common::getSequenceName()
 DB_common::getSpecialQuery()
 DB_common::getTables()
 DB_common::limitQuery()
 DB_common::modifyLimitQuery()
 DB_common::modifyQuery()
 DB_common::nextId()
 DB_common::nextQueryIsManip()
 DB_common::numRows()
 DB_common::prepare()
 DB_common::provides()
 DB_common::query()
 DB_common::quote()
 DB_common::quoteBoolean()
 DB_common::quoteFloat()
 DB_common::quoteIdentifier()
 DB_common::quoteSmart()
 DB_common::quoteString()
 DB_common::raiseError()
 DB_common::rollback()
 DB_common::setFetchMode()
 DB_common::setOption()
 DB_common::tableInfo()
 DB_common::toString()
 DB_common::_checkManip()
 DB_common::_convertNullArrayValuesToEmpty()
 DB_common::_rtrimArrayValues()
 DB_common::__sleep()
 DB_common::__toString()
 DB_common::__wakeup()

Inherited From PEAR

 PEAR::PEAR()
 PEAR::delExpect()
 PEAR::expectError()
 PEAR::getStaticProperty()
 PEAR::isError()
 PEAR::loadExtension()
 PEAR::popErrorHandling()
 PEAR::popExpect()
 PEAR::pushErrorHandling()
 PEAR::raiseError()
 PEAR::registerShutdownFunc()
 PEAR::setErrorHandling()
 PEAR::staticPopErrorHandling()
 PEAR::staticPushErrorHandling()
 PEAR::throwError()
 PEAR::_PEAR()

Documentation generated on Wed, 09 Feb 2011 09:02:37 +0700 by phpDocumentor 1.4.2