DB
[ class tree: DB ] [ index: DB ] [ all elements ]

Class: DB_odbc

Source Location: /DB-1.9.2/DB/odbc.php

Class Overview

PEAR
   |
   --DB_common
      |
      --DB_odbc

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


Author(s):

Version:

  • Release: 1.9.2

Copyright:

  • 1997-2007 The PHP Group

Variables

Methods


Inherited Variables

Inherited Methods

Class: DB_common

DB_common::__construct()
This constructor calls $this->PEAR('DB_Error')
DB_common::affectedRows()
Determines the number of rows affected by a data maniuplation query
DB_common::autoCommit()
Enables or disables automatic commits
DB_common::autoExecute()
Automaticaly generates an insert or update query and call prepare() and execute() with it
DB_common::autoPrepare()
Automaticaly generates an insert or update query and pass it to prepare()
DB_common::buildManipSQL()
Produces an SQL query string for autoPrepare()
DB_common::commit()
Commits the current transaction
DB_common::createSequence()
Creates a new sequence
DB_common::dropSequence()
Deletes a sequence
DB_common::errorCode()
Maps native error codes to DB's portable ones
DB_common::errorMessage()
Maps a DB error code to a textual message
DB_common::errorNative()
Gets the DBMS' native error code produced by the last query
DB_common::escapeSimple()
Escapes a string according to the current DBMS's standards
DB_common::execute()
Executes a DB statement prepared with prepare()
DB_common::executeEmulateQuery()
Emulates executing prepared statements if the DBMS not support them
DB_common::executeMultiple()
Performs several execute() calls on the same statement handle
DB_common::freePrepared()
Frees the internal resources associated with a prepared query
DB_common::getAll()
Fetches all of the rows from a query result
DB_common::getAssoc()
Fetches an entire query result and returns it as an associative array using the first column as the key
DB_common::getCol()
Fetches a single column from a query result and returns it as an indexed array
DB_common::getListOf()
Lists internal database information
DB_common::getOne()
Fetches the first column of the first row from a query result
DB_common::getOption()
Returns the value of an option
DB_common::getRow()
Fetches the first row of data returned from a query result
DB_common::getSequenceName()
Generates the name used inside the database for a sequence
DB_common::getSpecialQuery()
Obtains the query string needed for listing a given type of objects
DB_common::getTables()
Lists the tables in the current database
DB_common::limitQuery()
Generates and executes a LIMIT query
DB_common::modifyLimitQuery()
Adds LIMIT clauses to a query string according to current DBMS standards
DB_common::modifyQuery()
Changes a query string for various DBMS specific reasons
DB_common::nextId()
Returns the next free id in a sequence
DB_common::nextQueryIsManip()
Sets (or unsets) a flag indicating that the next query will be a manipulation query, regardless of the usual DB::isManip() heuristics.
DB_common::numRows()
Determines the number of rows in a query result
DB_common::prepare()
Prepares a query for multiple execution with execute()
DB_common::provides()
Tells whether the present driver supports a given feature
DB_common::query()
Sends a query to the database server
DB_common::quote()
DEPRECATED: Quotes a string so it can be safely used in a query
DB_common::quoteBoolean()
Formats a boolean value for use within a query in a locale-independent manner.
DB_common::quoteFloat()
Formats a float value for use within a query in a locale-independent manner.
DB_common::quoteIdentifier()
Quotes a string so it can be safely used as a table or column name
DB_common::quoteSmart()
Formats input so it can be safely used in a query
DB_common::quoteString()
DEPRECATED: Quotes a string so it can be safely used within string delimiters in a query
DB_common::raiseError()
Communicates an error and invoke error callbacks, etc
DB_common::rollback()
Reverts the current transaction
DB_common::setFetchMode()
Sets the fetch mode that should be used by default for query results
DB_common::setOption()
Sets run-time configuration options for PEAR DB
DB_common::tableInfo()
Returns information about a table or a result set
DB_common::toString()
DEPRECATED: String conversion method
DB_common::_checkManip()
Checks if the given query is a manipulation query. This also takes into account the _next_query_manip flag and sets the _last_query_manip flag (and resets _next_query_manip) according to the result.
DB_common::_convertNullArrayValuesToEmpty()
Converts all null values in an array to empty strings
DB_common::_rtrimArrayValues()
Right-trims all strings in an array
DB_common::__sleep()
Automatically indicates which properties should be saved when PHP's serialize() function is called
DB_common::__toString()
Automatic string conversion for PHP 5
DB_common::__wakeup()
Automatically reconnects to the database when PHP's unserialize() function is called

Class Details

[line 50]
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



[ Top ]


Class Variables

$connection =

[line 135]

The raw database connection created by PHP

Type:   resource


[ Top ]

$dbsyntax =  'sql92'

[line 64]

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

Type:   string


[ Top ]

$dsn = array()

[line 141]

The DSN information for connecting to a database

Type:   array


[ Top ]

$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

Type:   array


[ Top ]

$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


Type:   array


[ Top ]

$phptype =  'odbc'

[line 58]

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

Type:   string


[ Top ]



Method Detail

__construct (Constructor)   [line 160]

void __construct( )

This constructor calls parent::__construct()

Overrides DB_common::__construct() (This constructor calls $this->PEAR('DB_Error'))
[ Top ]

affectedRows   [line 408]

int affectedRows( )

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.

Overrides DB_common::affectedRows() (Determines the number of rows affected by a data maniuplation query)
[ Top ]

autoCommit   [line 586]

int autoCommit( [bool $onoff = false])

Enables or disables automatic commits
  • Return: DB_OK on success. A DB_Error object if the driver doesn't support auto-committing transactions.

Overrides DB_common::autoCommit() (Enables or disables automatic commits)

Parameters:

bool   $onoff   —  true turns it on, false turns it off

[ Top ]

commit   [line 602]

int commit( )

Commits the current transaction
  • Return: DB_OK on success. A DB_Error object on failure.

Overrides DB_common::commit() (Commits the current transaction)
[ Top ]

connect   [line 181]

int connect( array $dsn, [bool $persistent = false])

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.

Parameters:

array   $dsn   —  the data source name
bool   $persistent   —  should the connection be persistent?

[ Top ]

createSequence   [line 549]

int createSequence( string $seq_name)

Creates a new sequence

Overrides DB_common::createSequence() (Creates a new sequence)

Parameters:

string   $seq_name   —  name of the new sequence

[ Top ]

disconnect   [line 240]

bool disconnect( )

Disconnects from the database server
  • Return: TRUE on success, FALSE on failure

[ Top ]

dropSequence   [line 570]

int dropSequence( string $seq_name)

Deletes a sequence

Overrides DB_common::dropSequence() (Deletes a sequence)

Parameters:

string   $seq_name   —  name of the sequence to be deleted

[ Top ]

errorNative   [line 693]

string errorNative( )

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

Overrides DB_common::errorNative() (Gets the DBMS' native error code produced by the last query)
[ Top ]

fetchInto   [line 317]

mixed fetchInto( resource $result, &$arr, int $fetchmode, [int $rownum = null], array $arr)

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()

Parameters:

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   — 

[ Top ]

freeResult   [line 368]

bool freeResult( resource $result)

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.


Parameters:

resource   $result   —  PHP's query result resource

[ Top ]

getSpecialQuery   [line 806]

string getSpecialQuery( string $type)

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

Overrides DB_common::getSpecialQuery() (Obtains the query string needed for listing a given type of objects)

Parameters:

string   $type   —  the kind of objects you want to retrieve

[ Top ]

nextId   [line 499]

int nextId( string $seq_name, [boolean $ondemand = true])

Returns the next free id in a sequence

Overrides DB_common::nextId() (Returns the next free id in a sequence)

Parameters:

string   $seq_name   —  name of the sequence
boolean   $ondemand   —  when true, the seqence is automatically created if it does not exist

[ Top ]

nextResult   [line 289]

true nextResult( a $result)

Move the internal odbc result pointer to the next available result
  • Return: if a result is available otherwise return false
  • Access: public

Parameters:

a   $result   —  valid fbsql result resource

[ Top ]

numCols   [line 389]

int numCols( resource $result)

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.


Parameters:

resource   $result   —  PHP's query result resource

[ Top ]

numRows   [line 439]

int numRows( resource $result)

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.


Overrides DB_common::numRows() (Determines the number of rows in a query result)

Parameters:

resource   $result   —  PHP's query result resource

[ Top ]

odbcRaiseError   [line 641]

object the odbcRaiseError( [int $errno = null])

Produces a DB_Error object regarding the current problem

Parameters:

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.

[ Top ]

quoteIdentifier   [line 467]

string quoteIdentifier( string $str)

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.


Overrides DB_common::quoteIdentifier() (Quotes a string so it can be safely used as a table or column name)

Parameters:

string   $str   —  identifier name to be quoted

[ Top ]

rollback   [line 618]

int rollback( )

Reverts the current transaction
  • Return: DB_OK on success. A DB_Error object on failure.

Overrides DB_common::rollback() (Reverts the current transaction)
[ Top ]

simpleQuery   [line 259]

mixed simpleQuery( string $query)

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

Parameters:

string   $query   —  the SQL query string

[ Top ]

tableInfo   [line 720]

array tableInfo( object|string $result, [int $mode = null])

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

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

Parameters:

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

[ Top ]


Documentation generated on Mon, 11 Mar 2019 16:04:20 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.