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

Class: DB_mysql

Source Location: /DB-1.7.14/DB/mysql.php

Class Overview

PEAR
   |
   --DB_common
      |
      --DB_mysql

The methods PEAR DB uses to interact with PHP's mysql extension for interacting with MySQL databases


Author(s):

Version:

  • Release: 1.7.14

Copyright:

  • 1997-2007 The PHP Group

Variables

Methods


Inherited Variables

Inherited Methods

Class: DB_common

DB_common::DB_common()
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 47]
The methods PEAR DB uses to interact with PHP's mysql extension for interacting with MySQL databases

These methods overload the ones declared in DB_common.



[ Top ]


Class Variables

$connection =

[line 123]

The raw database connection created by PHP

Type:   resource


[ Top ]

$dbsyntax =  'mysql'

[line 61]

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

Type:   string


[ Top ]

$dsn = array()

[line 129]

The DSN information for connecting to a database

Type:   array


[ Top ]

$errorcode_map = array(
        1004 => DB_ERROR_CANNOT_CREATE,
        1005 => DB_ERROR_CANNOT_CREATE,
        1006 => DB_ERROR_CANNOT_CREATE,
        1007 => DB_ERROR_ALREADY_EXISTS,
        1008 => DB_ERROR_CANNOT_DROP,
        1022 => DB_ERROR_ALREADY_EXISTS,
        1044 => DB_ERROR_ACCESS_VIOLATION,
        1046 => DB_ERROR_NODBSELECTED,
        1048 => DB_ERROR_CONSTRAINT,
        1049 => DB_ERROR_NOSUCHDB,
        1050 => DB_ERROR_ALREADY_EXISTS,
        1051 => DB_ERROR_NOSUCHTABLE,
        1054 => DB_ERROR_NOSUCHFIELD,
        1061 => DB_ERROR_ALREADY_EXISTS,
        1062 => DB_ERROR_ALREADY_EXISTS,
        1064 => DB_ERROR_SYNTAX,
        1091 => DB_ERROR_NOT_FOUND,
        1100 => DB_ERROR_NOT_LOCKED,
        1136 => DB_ERROR_VALUE_COUNT_ON_ROW,
        1142 => DB_ERROR_ACCESS_VIOLATION,
        1146 => DB_ERROR_NOSUCHTABLE,
        1216 => DB_ERROR_CONSTRAINT,
        1217 => DB_ERROR_CONSTRAINT,
        1356 => DB_ERROR_DIVZERO,
        1451 => DB_ERROR_CONSTRAINT,
        1452 => DB_ERROR_CONSTRAINT,
    )

[line 90]

A mapping of native error codes to DB error codes

Type:   array


[ Top ]

$features = array(
        'limit'         => 'alter',
        'new_link'      => '4.2.0',
        'numrows'       => true,
        'pconnect'      => true,
        'prepare'       => false,
        'ssl'           => false,
        'transactions'  => true,
    )

[line 76]

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


Type:   array


[ Top ]

$phptype =  'mysql'

[line 55]

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

Type:   string


[ Top ]



Method Detail

DB_mysql (Constructor)   [line 169]

void DB_mysql( )

This constructor calls $this->DB_common()

[ Top ]

affectedRows   [line 559]

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 489]

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 505]

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 196]

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 mysql driver supports the following extra DSN options:

  • new_link If set to true, causes subsequent calls to connect() to return a new connection link instead of the existing one. WARNING: this is not portable to other DBMS's. Available since PEAR DB 1.7.0.
  • client_flags Any combination of MYSQL_CLIENT_* constants. Only used if PHP is at version 4.3.0 or greater. Available since PEAR DB 1.7.0.

  • 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 666]

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 278]

bool disconnect( )

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

[ Top ]

dropSequence   [line 697]

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 909]

int errorNative( )

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

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

escapeSimple   [line 799]

string escapeSimple( string $str)

Escapes a string according to the current DBMS's standards

Overrides DB_common::escapeSimple() (Escapes a string according to the current DBMS's standards)

Parameters:

string   $str     the string to be escaped

[ Top ]

fetchInto   [line 375]

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 423]

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 1020]

string getSpecialQuery( string $type)

Obtains the query string needed for listing a given type of objects
  • Return: the SQL query string or null if the driver doesn't support the object type requested
  • See: DB_common::getListOf()
  • 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 ]

modifyLimitQuery   [line 857]

string modifyLimitQuery( string $query, int $from, int $count, [mixed $params = array()])

Adds LIMIT clauses to a query string according to current DBMS standards
  • Return: the query string with LIMIT clauses added
  • Access: protected

Overrides DB_common::modifyLimitQuery() (Adds LIMIT clauses to a query string according to current DBMS standards)

Parameters:

string   $query     the query to modify
int   $from     the row to start to fetching (0 = the first row)
int   $count     the numbers of rows to fetch
mixed   $params     array, string or numeric data to be used in execution of the statement. Quantity of items passed must match quantity of placeholders in query: meaning 1 placeholder for non-array parameters or 1 placeholder per array element.

[ Top ]

modifyQuery   [line 825]

string modifyQuery( string $query)

Changes a query string for various DBMS specific reasons

This little hack lets you know how many rows were deleted when running a "DELETE FROM table" query. Only implemented if the DB_PORTABILITY_DELETE_COUNT portability option is on.


Overrides DB_common::modifyQuery() (Changes a query string for various DBMS specific reasons)

Parameters:

string   $query     the query string to modify

[ Top ]

mysqlRaiseError   [line 881]

object the mysqlRaiseError( [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 ]

nextId   [line 584]

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 347]

false nextResult( a $result)

Move the internal mysql result pointer to the next available result

This method has not been implemented yet.


Parameters:

a   $result     valid sql result resource

[ Top ]

numCols   [line 444]

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 469]

int numRows( resource $result)

Gets the number of rows in a result set

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 ]

quote   [line 781]

void quote( $str)

  • Deprecated: Deprecated in release 1.6.0

Overrides DB_common::quote() (DEPRECATED: Quotes a string so it can be safely used in a query)

Parameters:

   $str     

[ Top ]

quoteIdentifier   [line 770]

string quoteIdentifier( string $str)

Quotes a string so it can be safely used as a table or column name (WARNING: using names that require this is a REALLY BAD IDEA)

WARNING: Older versions of MySQL can't handle the backtick character (`) in table or column names.


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 531]

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 301]

mixed simpleQuery( string $query)

Sends a query to the database server

Generally uses mysql_query(). If you want to use mysql_unbuffered_query() set the "result_buffering" option to 0 using setOptions(). This option was added in Release 1.7.0.

  • 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 932]

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

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 Sat, 27 Aug 2011 14:00:13 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.