Class DB_mysqli

Description

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

This is for MySQL versions 4.1 and above. Requires PHP 5.

Note that persistent connections no longer exist.

These methods overload the ones declared in DB_common.

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

PEAR
   |
   --DB_common
      |
      --DB_mysqli
Variable Summary
 resource $connection
 string $dbsyntax
 array $dsn
 array $features
 string $phptype
Method Summary
 void DB_mysqli ()
 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)
 int errorNative ()
 string escapeSimple (string $str)
 mixed fetchInto (resource $result,  &$arr, int $fetchmode, [int $rownum = null], array $arr)
 bool freeResult (resource $result)
 string getSpecialQuery (string $type)
 string modifyLimitQuery (string $query, int $from, int $count, [mixed $params = array()])
 object the mysqliRaiseError ([int $errno = null])
 int nextId (string $seq_name, [boolean $ondemand = true])
 false nextResult (resource $result)
 int numCols (resource $result)
 int numRows (resource $result)
 string quoteIdentifier (string $str)
 int rollback ()
 mixed simpleQuery (string $query)
 array tableInfo (object|string $result, [int $mode = null])
Variables
resource $connection (line 126)

The raw database connection created by PHP

string $dbsyntax = 'mysqli' (line 64)

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

array $dsn = array() (line 132)

The DSN information for connecting to a database

array $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 93)

A mapping of native error codes to DB error codes

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

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

array $mysqli_flags = array(
MYSQLI_NOT_NULL_FLAG => 'not_null',
MYSQLI_PRI_KEY_FLAG => 'primary_key',
MYSQLI_UNIQUE_KEY_FLAG => 'unique_key',
MYSQLI_MULTIPLE_KEY_FLAG => 'multiple_key',
MYSQLI_BLOB_FLAG => 'blob',
MYSQLI_UNSIGNED_FLAG => 'unsigned',
MYSQLI_ZEROFILL_FLAG => 'zerofill',
MYSQLI_AUTO_INCREMENT_FLAG => 'auto_increment',
MYSQLI_TIMESTAMP_FLAG => 'timestamp',
MYSQLI_SET_FLAG => 'set',
// MYSQLI_NUM_FLAG => 'numeric', // unnecessary
// MYSQLI_PART_KEY_FLAG => 'multiple_key', // duplicatvie
MYSQLI_GROUP_FLAG => 'group_by'
)
(line 169)

Array for converting MYSQLI_*_FLAG constants to text values

  • since: Property available since Release 1.6.5
  • access: public
array $mysqli_types = array(
MYSQLI_TYPE_DECIMAL => 'decimal',
MYSQLI_TYPE_TINY => 'tinyint',
MYSQLI_TYPE_SHORT => 'int',
MYSQLI_TYPE_LONG => 'int',
MYSQLI_TYPE_FLOAT => 'float',
MYSQLI_TYPE_DOUBLE => 'double',
// MYSQLI_TYPE_NULL => 'DEFAULT NULL', // let flags handle it
MYSQLI_TYPE_TIMESTAMP => 'timestamp',
MYSQLI_TYPE_LONGLONG => 'bigint',
MYSQLI_TYPE_INT24 => 'mediumint',
MYSQLI_TYPE_DATE => 'date',
MYSQLI_TYPE_TIME => 'time',
MYSQLI_TYPE_DATETIME => 'datetime',
MYSQLI_TYPE_YEAR => 'year',
MYSQLI_TYPE_NEWDATE => 'date',
MYSQLI_TYPE_ENUM => 'enum',
MYSQLI_TYPE_SET => 'set',
MYSQLI_TYPE_TINY_BLOB => 'tinyblob',
MYSQLI_TYPE_MEDIUM_BLOB => 'mediumblob',
MYSQLI_TYPE_LONG_BLOB => 'longblob',
MYSQLI_TYPE_BLOB => 'blob',
MYSQLI_TYPE_VAR_STRING => 'varchar',
MYSQLI_TYPE_STRING => 'char',
MYSQLI_TYPE_GEOMETRY => 'geometry',
/* These constants are conditionally compiled in ext/mysqli, so we'll
* define them by number rather than constant. */
16 => 'bit',
246 => 'decimal',
)
(line 191)

Array for converting MYSQLI_TYPE_* constants to text values

  • since: Property available since Release 1.6.5
  • access: public
string $phptype = 'mysqli' (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_mysqli (line 231)

This constructor calls $this->DB_common()

void DB_mysqli ()
affectedRows (line 634)

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

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

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

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

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

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

    • key The path to the key file.
    • cert The path to the certificate file.
    • ca The path to the certificate authority file.
    • capath The path to a directory that contains trusted SSL CA certificates in pem format.
    • cipher The list of allowable ciphers for SSL encryption.
    Example of how to connect using SSL:
    1.  require_once 'DB.php';
    2.  
    3.  $dsn array(
    4.      'phptype'  => 'mysqli',
    5.      'username' => 'someuser',
    6.      'password' => 'apasswd',
    7.      'hostspec' => 'localhost',
    8.      'database' => 'thedb',
    9.      'key'      => 'client-key.pem',
    10.      'cert'     => 'client-cert.pem',
    11.      'ca'       => 'cacert.pem',
    12.      'capath'   => '/path/to/ca/dir',
    13.      'cipher'   => 'AES',
    14.  );
    15.  
    16.  $options array(
    17.      'ssl' => true,
    18.  );
    19.  
    20.  $db DB::connect($dsn$options);
    21.  if (PEAR::isError($db)) {
    22.      die($db->getMessage());
    23.  }

    • 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 745)

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

    Disconnects from the database server

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

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

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

    • return: the DBMS' error code
    int errorNative ()

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

    Escapes a string according to the current DBMS's standards

    string escapeSimple (string $str)
    • string $str: the string to be escaped

    Redefinition of:
    DB_common::escapeSimple()
    Escapes a string according to the current DBMS's standards
    fetchInto (line 450)

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

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

    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
    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
    modifyLimitQuery (line 887)

    Adds LIMIT clauses to a query string according to current DBMS standards

    • return: the query string with LIMIT clauses added
    • access: protected
    string modifyLimitQuery (string $query, int $from, int $count, [mixed $params = array()])
    • 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.

    Redefinition of:
    DB_common::modifyLimitQuery()
    Adds LIMIT clauses to a query string according to current DBMS standards
    mysqliRaiseError (line 911)

    Produces a DB_Error object regarding the current problem

    object the mysqliRaiseError ([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.
    nextId (line 659)

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

    Move the internal mysql result pointer to the next available result.

    This method has not been implemented yet.

    • access: public
    false nextResult (resource $result)
    • resource $result: a valid sql result resource
    numCols (line 519)

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

    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.

    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
    quoteIdentifier (line 845)

    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.

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

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

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

    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::setOption()
    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:20 +0700 by phpDocumentor 1.4.2