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

Class: MDB2_Driver_Common

Source Location: /MDB2-2.5.0b2/MDB2.php

Class Overview

PEAR
   |
   --MDB2_Driver_Common

MDB2_Driver_Common: Base class that is extended by each MDB2 driver


Author(s):

Variables

Methods


Inherited Variables

Inherited Methods


Class Details

[line 1025]
MDB2_Driver_Common: Base class that is extended by each MDB2 driver


[ Top ]


Class Variables

$as_keyword =  ' AS '

[line 1244]

column alias keyword
  • Access: protected

Type:   string


[ Top ]

$connected_database_name =  ''

[line 1076]

the name of the database currently selected
  • Access: protected

Type:   string


[ Top ]

$connected_dsn = array()

[line 1048]

DSN that was used to create the current connection
  • Access: protected

Type:   array


[ Top ]

$connected_server_info =  ''

[line 1083]

server version information
  • Access: protected

Type:   string


[ Top ]

$connection =  0

[line 1055]

connection resource
  • Access: protected

Type:   mixed


[ Top ]

$database_name =  ''

[line 1069]

the name of the database for the next query
  • Access: protected

Type:   string


[ Top ]

$dbsyntax =

[line 1307]

Database used with regards to SQL syntax etc.
  • Access: public

Type:   string


[ Top ]

$db_index =  0

[line 1034]

index of the MDB2 object within the $GLOBALS['_MDB2_databases'] array
  • Access: public

Type:   int


[ Top ]

$debug_output =  ''

[line 1258]

string with the debugging information
  • Access: public

Type:   string


[ Top ]

$destructor_registered =  true

[line 1335]

determines of the PHP4 destructor emulation has been enabled yet
  • Access: protected

Type:   array


[ Top ]

$dsn = array()

[line 1041]

DSN used for the next query
  • Access: protected

Type:   array


[ Top ]

$fetchmode =  MDB2_FETCHMODE_ORDERED

[line 1321]

the default fetchmode used
  • Access: protected

Type:   int


[ Top ]

$has_transaction_error =  false

[line 1279]

the first error that occured inside a nested transaction
  • Access: protected

Type:   MDB2_Error|bool


[ Top ]

$identifier_quoting = array('start' => '"', 'end' => '"', 'escape' => '"')

[line 1220]

identifier quoting
  • Access: protected

Type:   array


[ Top ]

$in_transaction =  false

[line 1265]

determine if there is an open transaction
  • Access: protected

Type:   bool


[ Top ]

$last_query =

[line 1314]

the last query sent to the driver
  • Access: public

Type:   string


[ Top ]

$limit =  0

[line 1293]

result limit used in the next query
  • Access: protected

Type:   int


[ Top ]

$modules = array()

[line 1328]

array of module instances
  • Access: protected

Type:   array


[ Top ]

$nested_transaction_counter =  null

[line 1272]

the smart transaction nesting depth
  • Access: protected

Type:   int


[ Top ]

$offset =  0

[line 1286]

result offset used in the next query
  • Access: protected

Type:   int


[ Top ]

$opened_persistent =

[line 1062]

if the current opened connection is a persistent connection
  • Access: protected

Type:   bool


[ Top ]

$options = array(
        'ssl' => false,
        'field_case' => CASE_LOWER,
        'disable_query' => false,
        'result_class' => 'MDB2_Result_%s',
        'buffered_result_class' => 'MDB2_BufferedResult_%s',
        'result_wrap_class' => false,
        'result_buffering' => true,
        'fetch_class' => 'stdClass',
        'persistent' => false,
        'debug' => 0,
        'debug_handler' => 'MDB2_defaultDebugOutput',
        'debug_expanded_output' => false,
        'default_text_field_length' => 4096,
        'lob_buffer_length' => 8192,
        'log_line_break' => "\n",
        'idxname_format' => '%s_idx',
        'seqname_format' => '%s_seq',
        'savepoint_format' => 'MDB2_SAVEPOINT_%s',
        'statement_format' => 'MDB2_STATEMENT_%1$s_%2$s',
        'seqcol_name' => 'sequence',
        'quote_identifier' => false,
        'use_transactions' => true,
        'decimal_places' => 2,
        'portability' => MDB2_PORTABILITY_ALL,
        'modules' => array(
            'ex' => 'Extended',
            'dt' => 'Datatype',
            'mg' => 'Manager',
            'rv' => 'Reverse',
            'na' => 'Native',
            'fc' => 'Function',
        ),'emulate_prepared'=>false,'datatype_map'=>array(),'datatype_map_callback'=>array(),'nativetype_map_callback'=>array(),'lob_allow_url_include'=>false,'bindname_format'=>'(?:\d+)|(?:[a-zA-Z][a-zA-Z0-9_]*)','max_identifiers_length'=>30,'default_fk_action_onupdate'=>'RESTRICT','default_fk_action_ondelete'=>'RESTRICT',)

[line 1164]

Array of supported options that can be passed to the MDB2 instance.

The options can be set during object creation, using MDB2::connect(), MDB2::factory() or MDB2::singleton(). The options can also be set after the object is created, using MDB2::setOptions() or MDB2_Driver_Common::setOption(). The list of available option includes:

  • $options['ssl'] -> boolean: determines if ssl should be used for connections
  • $options['field_case'] -> CASE_LOWER|CASE_UPPER: determines what case to force on field/table names
  • $options['disable_query'] -> boolean: determines if queries should be executed
  • $options['result_class'] -> string: class used for result sets
  • $options['buffered_result_class'] -> string: class used for buffered result sets
  • $options['result_wrap_class'] -> string: class used to wrap result sets into
  • $options['result_buffering'] -> boolean should results be buffered or not?
  • $options['fetch_class'] -> string: class to use when fetch mode object is used
  • $options['persistent'] -> boolean: persistent connection?
  • $options['debug'] -> integer: numeric debug level
  • $options['debug_handler'] -> string: function/method that captures debug messages
  • $options['debug_expanded_output'] -> bool: BC option to determine if more context information should be send to the debug handler
  • $options['default_text_field_length'] -> integer: default text field length to use
  • $options['lob_buffer_length'] -> integer: LOB buffer length
  • $options['log_line_break'] -> string: line-break format
  • $options['idxname_format'] -> string: pattern for index name
  • $options['seqname_format'] -> string: pattern for sequence name
  • $options['savepoint_format'] -> string: pattern for auto generated savepoint names
  • $options['statement_format'] -> string: pattern for prepared statement names
  • $options['seqcol_name'] -> string: sequence column name
  • $options['quote_identifier'] -> boolean: if identifier quoting should be done when check_option is used
  • $options['use_transactions'] -> boolean: if transaction use should be enabled
  • $options['decimal_places'] -> integer: number of decimal places to handle
  • $options['portability'] -> integer: portability constant
  • $options['modules'] -> array: short to long module name mapping for __call()
  • $options['emulate_prepared'] -> boolean: force prepared statements to be emulated
  • $options['datatype_map'] -> array: map user defined datatypes to other primitive datatypes
  • $options['datatype_map_callback'] -> array: callback function/method that should be called
  • $options['bindname_format'] -> string: regular expression pattern for named parameters
  • $options['multi_query'] -> boolean: determines if queries returning multiple result sets should be executed
  • $options['max_identifiers_length'] -> integer: max identifier length
  • $options['default_fk_action_onupdate'] -> string: default FOREIGN KEY ON UPDATE action ['RESTRICT'|'NO ACTION'|'SET DEFAULT'|'SET NULL'|'CASCADE']
  • $options['default_fk_action_ondelete'] -> string: default FOREIGN KEY ON DELETE action ['RESTRICT'|'NO ACTION'|'SET DEFAULT'|'SET NULL'|'CASCADE']


Type:   array


[ Top ]

$phptype =

[line 1300]

Database backend used in PHP (mysql, odbc etc.)
  • Access: public

Type:   string


[ Top ]

$sql_comments = array(
        array('start' => '--', 'end' => "\n", 'escape' => false),array('start'=>'/*','end'=>'*/','escape'=>false),)

[line 1227]

sql comments
  • Access: protected

Type:   array


[ Top ]

$string_quoting = array('start' => "'", 'end' => "'", 'escape' => false, 'escape_pattern' => false)

[line 1213]

string array
  • Access: protected

Type:   string


[ Top ]

$supported = array(
        'sequences' => false,
        'indexes' => false,
        'affected_rows' => false,
        'summary_functions' => false,
        'order_by_text' => false,
        'transactions' => false,
        'savepoints' => false,
        'current_id' => false,
        'limit_queries' => false,
        'LOBs' => false,
        'replace' => false,
        'sub_selects' => false,
        'triggers' => false,
        'auto_increment' => false,
        'primary_key' => false,
        'result_introspection' => false,
        'prepared_statements' => false,
        'identifier_quoting' => false,
        'pattern_escaping' => false,
        'new_link' => false,
    )

[line 1090]

list of all supported features of the given driver
  • Access: public

Type:   array


[ Top ]

$warnings = array()

[line 1251]

warnings
  • Access: protected

Type:   array


[ Top ]

$wildcards = array('%', '_')

[line 1237]

comparision wildcards
  • Access: protected

Type:   array


[ Top ]



Method Detail

__construct (Constructor)   [line 1343]

MDB2_Driver_Common __construct( )

Constructor

[ Top ]

MDB2_Driver_Common (Constructor)   [line 1357]

MDB2_Driver_Common MDB2_Driver_Common( )

PHP 4 Constructor

[ Top ]

__destruct (Destructor)   [line 1369]

void __destruct( )

Destructor

[ Top ]

beginNestedTransaction   [line 2115]

mixed beginNestedTransaction( )

Start a nested transaction.
  • Return: MDB2_OK on success/savepoint name, a MDB2 error on failure
  • Since: 2.1.1
  • Access: public

[ Top ]

beginTransaction   [line 2007]

mixed beginTransaction( [string $savepoint = null])

Start a transaction or set a savepoint.
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $savepoint     name of a savepoint to set

[ Top ]

commit   [line 2028]

mixed commit( [string $savepoint = null])

Commit the database changes done during a transaction that is in progress or release a savepoint. This function may only be called when auto-committing is disabled, otherwise it will fail. Therefore, a new transaction is implicitly started after committing the pending changes.
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $savepoint     name of a savepoint to release

[ Top ]

compareDefinition   [line 3139]

array compareDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied
  • Return: containing all changes that will need to be applied
  • Access: public

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

completeNestedTransaction   [line 2146]

mixed completeNestedTransaction( [bool $force_rollback = false])

Finish a nested transaction by rolling back if an error occured or committing otherwise.
  • Return: MDB_OK on commit/counter decrementing, false on rollback and a MDB2 error on failure
  • Since: 2.1.1
  • Access: public

Parameters:

bool   $force_rollback     if the transaction should be rolled back regardless even if no error was set within the nested transaction

[ Top ]

connect   [line 2236]

true connect( )

Connect to the database
  • Return: on success, MDB2 Error Object on failure

[ Top ]

currID   [line 3259]

mixed currID( string $seq_name)

Returns the current id of a sequence
  • Return: MDB2 Error Object or id
  • Access: public

Parameters:

string   $seq_name     name of the sequence

[ Top ]

databaseExists   [line 2253]

mixed databaseExists( string $name)

check if given database name is exists?
  • Return: true/false on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $name     name of the database that should be checked

[ Top ]

debug   [line 1637]

void debug( string $message, [string $scope = ''], [array $context = array()])

set a debug message
  • Access: public

Parameters:

string   $message     message that should be appended to the debug variable
string   $scope     usually the method name that triggered the debug call: for example 'query', 'prepare', 'execute', 'parameters', 'beginTransaction', 'commit', 'rollback'
array   $context     contains context information about the debug() call common keys are: is_manip, time, result etc.

[ Top ]

disconnect   [line 2289]

mixed disconnect( [boolean $force = true])

Log out and disconnect from the database.
  • Return: true on success, false if not connected and error object on error
  • Access: public

Parameters:

boolean   $force     whether the disconnect should be forced even if the connection is opened persistently

[ Top ]

errorInfo   [line 1423]

array errorInfo( [mixed $error = null])

This method is used to collect information about an error
  • Return: with MDB2 errorcode, native error code, native message
  • Access: public

Parameters:

mixed   $error     error code or resource

[ Top ]

escape   [line 1680]

string escape( string $text, [bool $escape_wildcards = false])

Quotes a string so it can be safely used in a query. It will quote the text so it can safely be used within a query.
  • Return: quoted string
  • Access: public

Parameters:

string   $text     the input string to quote
bool   $escape_wildcards     escape wildcards

[ Top ]

escapePattern   [line 1702]

string escapePattern( string $text)

Quotes pattern (% and _) characters in a string)
  • Return: quoted string
  • Access: public

Parameters:

string   $text     the input string to quote

[ Top ]

exec   [line 2540]

mixed &exec( string $query)

Execute a manipulation query to the database and return the number of affected rows
  • Return: number of affected rows on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SQL query

[ Top ]

failNestedTransaction   [line 2198]

bool failNestedTransaction( [mixed $error = null], [bool $immediately = false])

Force setting nested transaction to failed.
  • Return: MDB2_OK
  • Since: 2.1.1
  • Access: public

Parameters:

mixed   $error     value to return in getNestededTransactionError()
bool   $immediately     if the transaction should be rolled back immediately

[ Top ]

free   [line 1384]

bool free( )

Free the internal references so that the instance can be destroyed
  • Return: true on success, false if result is invalid
  • Access: public

[ Top ]

getAsKeyword   [line 1774]

string getAsKeyword( )

Gets the string to alias column
  • Return: to use when aliasing a column

[ Top ]

getConnection   [line 1790]

mixed getConnection( )

Returns a native connection
  • Return: a valid MDB2 connection object, or a MDB2 error object on error
  • Access: public

[ Top ]

getDatabase   [line 2333]

string getDatabase( )

Get the current database
  • Return: name of the database
  • Access: public

[ Top ]

getDebugOutput   [line 1661]

string getDebugOutput( )

output debug info
  • Return: content of the debug_output class variable
  • Access: public

[ Top ]

getDeclaration   [line 3117]

string getDeclaration( string $type, string $name, string $field)

Obtain DBMS specific SQL code portion needed to declare of the given type
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: public

Parameters:

string   $type     type to which the value should be converted to
string   $name     name the field to be declared.
string   $field     definition of the field

[ Top ]

getDSN   [line 2375]

mixed getDSN( [string $type = 'string'], [string $hidepw = false])

return the DSN as a string
  • Return: DSN in the chosen type
  • Access: public

Parameters:

string   $type     format to return ("array", "string")
string   $hidepw     string to hide the password with

[ Top ]

getIndexName   [line 3202]

string getIndexName( string $idx)

adds index name formatting to a index name
  • Return: formatted index name
  • Access: public

Parameters:

string   $idx     name of the index

[ Top ]

getNestedTransactionError   [line 2223]

MDB2_Error|bool getNestedTransactionError( )

The first error that occured since the transaction start.
  • Return: MDB2 error object if an error occured or false.
  • Since: 2.1.1
  • Access: public

[ Top ]

getOption   [line 1611]

mixed getOption( string $option)

Returns the value of an option
  • Return: the option value or error object
  • Access: public

Parameters:

string   $option     option name

[ Top ]

getSequenceName   [line 3184]

string getSequenceName( string $sqn)

adds sequence name formatting to a sequence name
  • Return: formatted sequence name
  • Access: public

Parameters:

string   $sqn     name of the sequence

[ Top ]

getServerVersion   [line 2687]

mixed getServerVersion( [bool $native = false])

return version information about the server
  • Return: array with version information or row string
  • Access: public

Parameters:

bool   $native     determines if the raw version string should be returned

[ Top ]

getWarnings   [line 1532]

array getWarnings( )

Get all warnings in reverse order.

This means that the last warning is the first element in the array


[ Top ]

inTransaction   [line 2070]

int|bool inTransaction( [bool $ignore_nested = false])

If a transaction is currently open.
  • Return: - an integer with the nesting depth is returned if a nested transaction is open
    • true is returned for a normal open transaction
    • false is returned if no transaction is open
  • Access: public

Parameters:

bool   $ignore_nested     if the nested transaction count should be ignored

[ Top ]

lastInsertID   [line 3241]

mixed lastInsertID( [string $table = null], [string $field = null])

Returns the autoincrement ID if supported or $id or fetches the current ID in a sequence called: $table.(empty($field) ? '' : '_'.$field)
  • Return: MDB2 Error Object or id
  • Access: public

Parameters:

string   $table     name of the table into which a new row was inserted
string   $field     name of the field into which a new row was inserted

[ Top ]

loadModule   [line 1897]

object on &loadModule( string $module, [string $property = null], [bool $phptype_specific = null])

loads a module
  • Return: success a reference to the given module is returned and on failure a PEAR error
  • Access: public

Parameters:

string   $module     name of the module that should be loaded (only used for error messages)
string   $property     name of the property into which the class will be loaded
bool   $phptype_specific     if the class to load for the module is specific to the phptype

[ Top ]

nextID   [line 3221]

mixed nextID( string $seq_name, [bool $ondemand = true])

Returns the next free id of a sequence
  • Return: MDB2 Error Object or id
  • Access: public

Parameters:

string   $seq_name     name of the sequence
bool   $ondemand     when true missing sequences are automatic created

[ Top ]

prepare   [line 2933]

mixed &prepare( string $query, [mixed $types = null], [mixed $result_types = null], [mixed $lobs = array()])

Prepares a query for multiple execution with execute().

With some database backends, this is emulated. prepare() requires a generic query as string like 'INSERT INTO numbers VALUES(?,?)' or 'INSERT INTO numbers VALUES(:foo,:bar)'. The ? and :name and are placeholders which can be set using bindParam() and the query can be sent off using the execute() method. The allowed format for :name can be set with the 'bindname_format' option.

  • Return: resource handle for the prepared query on success, a MDB2 error on failure
  • See: bindParam, execute
  • Access: public

Parameters:

string   $query     the query to prepare
mixed   $types     array that contains the types of the placeholders
mixed   $result_types     array that contains the types of the columns in the result set or MDB2_PREPARE_RESULT, if set to MDB2_PREPARE_MANIP the query is handled as a manipulation query
mixed   $lobs     key (field) value (parameter) pair for all lob placeholders

[ Top ]

query   [line 2577]

mixed &query( string $query, [mixed $types = null], [mixed $result_class = true], [mixed $result_wrap_class = false])

Send a query to the database and return any results
  • Return: an MDB2_Result handle on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SQL query
mixed   $types     array that contains the types of the columns in the result set
mixed   $result_class     string which specifies which result class to use
mixed   $result_wrap_class     string which specifies which class to wrap results in

[ Top ]

queryAll   [line 3384]

mixed queryAll( string $query, [array $types = null], [int $fetchmode = MDB2_FETCHMODE_DEFAULT], [bool $rekey = false], [bool $force_array = false], [bool $group = false])

Execute the specified query, fetch all the rows of the result set into a two dimensional array and then frees the result set.
  • Return: MDB2_OK or data array on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SELECT query statement to be executed.
array   $types     optional array argument that specifies a list of expected datatypes of the result set columns, so that the eventual conversions may be performed. The default list of datatypes is empty, meaning that no conversion is performed.
int   $fetchmode     how the array data should be indexed
bool   $rekey     if set to true, the $all will have the first column as its first dimension
bool   $force_array     used only when the query returns exactly two columns. If true, the values of the returned array will be one-element arrays instead of scalars.
bool   $group     if true, the values of the returned array is wrapped in another array. If the same key value (in the first column) repeats itself, the values will be appended to this array instead of overwriting the existing values.

[ Top ]

queryCol   [line 3345]

mixed queryCol( string $query, [string $type = null], [mixed $colnum = 0])

Execute the specified query, fetch the value from the first column of each row of the result set into an array and then frees the result set.
  • Return: MDB2_OK or data array on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SELECT query statement to be executed.
string   $type     optional argument that specifies the expected datatype of the result set field, so that an eventual conversion may be performed. The default datatype is text, meaning that no conversion is performed
mixed   $colnum     the column number (or name) to fetch

[ Top ]

queryOne   [line 3285]

mixed queryOne( string $query, [string $type = null], [mixed $colnum = 0])

Execute the specified query, fetch the value from the first column of the first row of the result set and then frees the result set.
  • Return: MDB2_OK or field value on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SELECT query statement to be executed.
string   $type     optional argument that specifies the expected datatype of the result set field, so that an eventual conversion may be performed. The default datatype is text, meaning that no conversion is performed
mixed   $colnum     the column number (or name) to fetch

[ Top ]

queryRow   [line 3316]

mixed queryRow( string $query, [array $types = null], [int $fetchmode = MDB2_FETCHMODE_DEFAULT])

Execute the specified query, fetch the values from the first row of the result set into an array and then frees the result set.
  • Return: MDB2_OK or data array on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SELECT query statement to be executed.
array   $types     optional array argument that specifies a list of expected datatypes of the result set columns, so that the eventual conversions may be performed. The default list of datatypes is empty, meaning that no conversion is performed.
int   $fetchmode     how the array data should be indexed

[ Top ]

quote   [line 3091]

string quote( string $value, [string $type = null], [bool $quote = true], [bool $escape_wildcards = false])

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: public

Parameters:

string   $value     text string value that is intended to be converted.
string   $type     type to which the value should be converted to
bool   $quote     quote
bool   $escape_wildcards     escape wildcards

[ Top ]

quoteIdentifier   [line 1753]

string quoteIdentifier( string $str, [bool $check_option = false])

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

Delimiting style depends on which database driver is being used.

NOTE: just because you CAN use delimited identifiers doesn't mean you SHOULD use them. In general, they end up causing way more problems than they solve.

NOTE: if you have table names containing periods, don't use this method (@see bug #11906)

Portability is broken by using the following characters inside delimited identifiers:

  • backtick (`) -- due to MySQL
  • double quote (") -- due to Oracle
  • brackets ([ or ]) -- due to Access
Delimited identifiers are known to generally work correctly under the following drivers:
  • mssql
  • mysql
  • mysqli
  • oci8
  • pgsql
  • sqlite
InterBase doesn't seem to be able to use delimited identifiers via PHP 4. They work fine under PHP 5.

  • Return: quoted identifier string
  • Access: public

Parameters:

string   $str     identifier name to be quoted
bool   $check_option     check the 'quote_identifier' option

[ Top ]

raiseError   [line 1456]

PEAR_Error &raiseError( [mixed $code = null], [int $mode = null], [mixed $options = null], [string $userinfo = null], [string $method = null], [string $dummy1 = null], [bool $dummy2 = false])

This method is used to communicate an error and invoke error callbacks etc. Basically a wrapper for PEAR::raiseError without the message string.
  • Return: instance of a PEAR Error object
  • See: PEAR_Error
  • Access: public

Parameters:

mixed   $code     integer error code, or a PEAR error object (all other parameters are ignored if this parameter is an object
int   $mode     error mode, see PEAR_Error docs
mixed   $options     If error mode is PEAR_ERROR_TRIGGER, this is the error level (E_USER_NOTICE etc). If error mode is PEAR_ERROR_CALLBACK, this is the callback function, either as a function name, or as an array of an object and method name. For other error modes this parameter is ignored.
string   $userinfo     Extra debug information. Defaults to the last query and native error code.
string   $method     name of the method that triggered the error
string   $dummy1     not used
bool   $dummy2     not used

[ Top ]

replace   [line 2834]

mixed replace( string $table, array $fields)

Execute a SQL REPLACE query. A REPLACE query is identical to a INSERT query, except that if there is already a row in the table with the same key field values, the old row is deleted before the new row is inserted.

The REPLACE type of query does not make part of the SQL standards. Since practically only MySQL and SQLite implement it natively, this type of query isemulated through this method for other DBMS using standard types of queries inside a transaction to assure the atomicity of the operation.

  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $table     name of the table on which the REPLACE query will be executed.
array   $fields     

associative array that describes the fields and the values that will be inserted or updated in the specified table. The indexes of the array are the names of all the fields of the table. The values of the array are also associative arrays that describe the values and other properties of the table fields.

Here follows a list of field properties that need to be specified:

value Value to be assigned to the specified field. This value may be of specified in database independent type format as this function can perform the necessary datatype conversions.

Default: this property is required unless the Null property is set to 1.

type Name of the type of the field. Currently, all types MDB2 are supported except for clob and blob.

Default: no type conversion

null bool property that indicates that the value for this field should be set to null.

The default value for fields missing in INSERT queries may be specified the definition of a table. Often, the default value is already null, but since the REPLACE may be emulated using an UPDATE query, make sure that all fields of the table are listed in this function argument array.

Default: 0

key bool property that indicates that this field should be handled as a primary key or at least as part of the compound unique index of the table that will determine the row that will updated if it exists or inserted a new row otherwise.

This function will fail if no key field is specified or if the value of a key field is set to null because fields that are part of unique index they may not be null.

Default: 0


[ Top ]

resetWarnings   [line 1515]

void resetWarnings( )

reset the warning array
  • Access: public

[ Top ]

rollback   [line 2049]

mixed rollback( [string $savepoint = null])

Cancel any database changes done during a transaction or since a specific savepoint that is in progress. This function may only be called when auto-committing is disabled, otherwise it will fail. Therefore, a new transaction is implicitly started after canceling the pending changes.
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $savepoint     name of a savepoint to rollback to

[ Top ]

setCharset   [line 2270]

true setCharset( string $charset, [resource $connection = null])

Set the charset on the current connection
  • Return: on success, MDB2 Error Object on failure

Parameters:

string   $charset     charset
resource   $connection     connection handle

[ Top ]

setDatabase   [line 2313]

string setDatabase( string $name)

Select a different database
  • Return: name of the database previously connected to
  • Access: public

Parameters:

string   $name     name of the database that should be selected

[ Top ]

setDSN   [line 2350]

MDB2_OK setDSN( mixed $dsn)

set the DSN
  • Access: public

Parameters:

mixed   $dsn     DSN string or array

[ Top ]

setFetchMode   [line 1559]

mixed setFetchMode( int $fetchmode, [string $object_class = 'stdClass'])

Sets which fetch mode should be used by default on queries on this connection

Parameters:

int   $fetchmode     MDB2_FETCHMODE_ORDERED, MDB2_FETCHMODE_ASSOC or MDB2_FETCHMODE_OBJECT
string   $object_class     the class name of the object to be returned by the fetch methods when the MDB2_FETCHMODE_OBJECT mode is selected. If no class is specified by default a cast to object from the assoc array row will be done. There is also the possibility to use and extend the 'MDB2_row' class.

[ Top ]

setLimit   [line 2706]

mixed setLimit( string $limit, [string $offset = null])

set the range of the next query
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $limit     number of rows to select
string   $offset     first row to select

[ Top ]

setOption   [line 1589]

mixed setOption( string $option, mixed $value)

set the option for the db class
  • Return: MDB2_OK or MDB2 Error Object
  • Access: public

Parameters:

string   $option     option name
mixed   $value     value for the option

[ Top ]

setTransactionIsolation   [line 2097]

mixed setTransactionIsolation( string $isolation, [array $options = array()])

Set the transacton isolation level.
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Since: 2.1.1
  • Access: public

Parameters:

string   $isolation     standard isolation level READ UNCOMMITTED (allows dirty reads) READ COMMITTED (prevents dirty reads) REPEATABLE READ (prevents nonrepeatable reads) SERIALIZABLE (prevents phantom reads)
array   $options     some transaction options: 'wait' => 'WAIT' | 'NO WAIT' 'rw' => 'READ WRITE' | 'READ ONLY'

[ Top ]

standaloneQuery   [line 2435]

mixed &standaloneQuery( string $query, [mixed $types = null], [bool $is_manip = false])

execute a query as database administrator
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SQL query
mixed   $types     array that contains the types of the columns in the result set
bool   $is_manip     if the query is a manipulation query

[ Top ]

subSelect   [line 2744]

string subSelect( string $query, [string $type = false])

simple subselect emulation: leaves the query untouched for all RDBMS that support subselects
  • Return: the query
  • Access: public

Parameters:

string   $query     the SQL query for the subselect that may only return a column
string   $type     determines type of the field

[ Top ]

supports   [line 3163]

bool|string supports( string $feature)

Tell whether a DB implementation or its backend extension supports a given feature.
  • Return: if this DB implementation supports a given feature false means no, true means native, 'emulated' means emulated
  • Access: public

Parameters:

string   $feature     name of the feature (see the MDB2 class doc)

[ Top ]

_doQuery   [line 2494]

result &_doQuery( string $query, [bool $is_manip = false], [resource $connection = null], [string $database_name = null])

Execute a query
  • Return: or error object
  • Access: protected

Parameters:

string   $query     query
bool   $is_manip     if the query is a manipulation query
resource   $connection     connection handle
string   $database_name     database name

[ Top ]

_fixResultArrayValues   [line 1812]

void _fixResultArrayValues( array &$row, array $mode)

Do all necessary conversions on result arrays to fix DBMS quirks
  • Access: protected

Parameters:

array   &$row     the array to be fixed (passed by reference)
array   $mode     bit-wise addition of the required portability modes

[ Top ]

_isNewLinkSet   [line 2410]

boolean _isNewLinkSet( )

Check if the 'new_link' option is set
  • Access: protected

[ Top ]

_modifyQuery   [line 2475]

string _modifyQuery( string $query, bool $is_manip, int $limit, int $offset)

Changes a query string for various DBMS specific reasons
  • Return: modified query
  • Access: protected

Parameters:

string   $query     query to modify
bool   $is_manip     if it is a DML query
int   $limit     limit the number of rows
int   $offset     start reading from given offset

[ Top ]

_skipDelimitedStrings   [line 3039]

mixed _skipDelimitedStrings( string $query, integer $position, integer $p_position)

Utility method, used by prepare() to avoid replacing placeholders within delimited strings.

Check if the placeholder is contained within a delimited string. If so, skip it and advance the position, otherwise return the current position, which is valid

  • Return: integer $new_position on success MDB2_Error on failure
  • Access: protected

Parameters:

string   $query     
integer   $position     current string cursor position
integer   $p_position     placeholder position

[ Top ]

_wrapResult   [line 2616]

mixed &_wrapResult( resource $result, [mixed $types = array()], [mixed $result_class = true], [mixed $result_wrap_class = false], [string $limit = null], [string $offset = null])

wrap a result set into the correct class
  • Return: an MDB2_Result, a MDB2 error on failure
  • Access: protected

Parameters:

resource   $result     result handle
mixed   $types     array that contains the types of the columns in the result set
mixed   $result_class     string which specifies which result class to use
mixed   $result_wrap_class     string which specifies which class to wrap results in
string   $limit     number of rows to select
string   $offset     first row to select

[ Top ]

__call   [line 1966]

mixed __call( string $method, array $params)

Calls a module method using the __call magic method
  • Return: Returned value.

Parameters:

string   $method     Method name.
array   $params     Arguments.

[ Top ]

__toString   [line 1401]

string __toString( )

String conversation
  • Return: representation of the object
  • Access: public

[ Top ]


Documentation generated on Wed, 14 Jan 2009 12:30:32 -0500 by phpDocumentor 1.4.0. PEAR Logo Copyright © PHP Group 2004.