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

Class: MDB2_Extended

Source Location: /MDB2-2.5.0b5/MDB2/Extended.php

Class Overview

MDB2_Module_Common
   |
   --MDB2_Extended

MDB2_Extended: class which adds several high level methods to MDB2


Author(s):

Methods


Inherited Variables

Inherited Methods

Class: MDB2_Module_Common

MDB2_Module_Common::__construct()
Constructor
MDB2_Module_Common::getDBInstance()
Get the instance of MDB2 associated with the module instance

Class Details

[line 68]
MDB2_Extended: class which adds several high level methods to MDB2


[ Top ]


Method Detail

autoExecute   [line 137]

bool|MDB2_Error autoExecute( string $table, array $fields_values, [int $mode = MDB2_AUTOQUERY_INSERT], [string $where = false], [array $types = null], [string $result_class = true], [mixed $result_types = MDB2_PREPARE_MANIP])

Generate an insert, update or delete query and call prepare() and execute() on it

Parameters:

string   $table     name of the table
array   $fields_values     assoc ($key=>$value) where $key is a field name and $value its value
int   $mode     type of query to build MDB2_AUTOQUERY_INSERT MDB2_AUTOQUERY_UPDATE MDB2_AUTOQUERY_DELETE MDB2_AUTOQUERY_SELECT
string   $where     (in case of update and delete queries, this string will be put after the sql WHERE statement)
array   $types     that contains the types of the placeholders
string   $result_class     which specifies which result class to use
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

[ Top ]

autoPrepare   [line 92]

resource autoPrepare( string $table, array $table_fields, [int $mode = MDB2_AUTOQUERY_INSERT], [string $where = false], [array $types = null], [mixed $result_types = MDB2_PREPARE_MANIP])

Generate an insert, update or delete query and call prepare() on it

Parameters:

string   $table     table
array   $table_fields     the fields names
int   $mode     type of query to build MDB2_AUTOQUERY_INSERT MDB2_AUTOQUERY_UPDATE MDB2_AUTOQUERY_DELETE MDB2_AUTOQUERY_SELECT
string   $where     (in case of update and delete queries, this string will be put after the sql WHERE statement)
array   $types     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

[ Top ]

buildManipSQL   [line 200]

string buildManipSQL( string $table, ordered $table_fields, int $mode, [string $where = false])

Make automaticaly an sql query for prepare()

Example : buildManipSQL('table_sql', array('field1', 'field2', 'field3'), MDB2_AUTOQUERY_INSERT) will return the string : INSERT INTO table_sql (field1,field2,field3) VALUES (?,?,?) NB : - This belongs more to a SQL Builder class, but this is a simple facility

  • Be carefull ! If you don't give a $where param with an UPDATE/DELETE query, all the records of the table will be updated/deleted !

  • Return: sql query for prepare()
  • Access: public

Parameters:

string   $table     name of the table
ordered   $table_fields     array containing the fields names
int   $mode     type of query to build MDB2_AUTOQUERY_INSERT MDB2_AUTOQUERY_UPDATE MDB2_AUTOQUERY_DELETE MDB2_AUTOQUERY_SELECT
string   $where     (in case of update and delete queries, this string will be put after the sql WHERE statement)

[ Top ]

execParam   [line 302]

int|MDB2_Error execParam( string $query, [array $params = array()], [array $param_types = null])

Execute a parameterized DML statement.
  • Return: affected rows on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SQL query
array   $params     if supplied, prepare/execute will be used with this array as execute parameters
array   $param_types     that contains the types of the values defined in $params

[ Top ]

executeMultiple   [line 646]

bool|MDB2_Error executeMultiple( resource $stmt, [array $params = null])

This function does several execute() calls on the same statement handle.

$params must be an array indexed numerically from 0, one execute call is done for every 'row' in the array.

If an error occurs during execute(), executeMultiple() does not execute the unfinished rows, but rather returns that error.

  • Return: true on success, a MDB2 error on failure
  • See: prepare(), execute()
  • Access: public

Parameters:

resource   $stmt     query handle from prepare()
array   $params     numeric array containing the data to insert into the query

[ Top ]

getAfterID   [line 708]

int|MDB2_Error getAfterID( mixed $id, string $table, [string $field = null])

Returns the autoincrement ID if supported or $id
  • Return: id on success, a MDB2 error on failure
  • Access: public

Parameters:

mixed   $id     value as returned by getBeforeId()
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 ]

getAll   [line 493]

array|MDB2_Error getAll( string $query, [array $types = null], [array $params = array()], [array $param_types = null], [int $fetchmode = MDB2_FETCHMODE_DEFAULT], [bool $rekey = false], [bool $force_array = false], [bool $group = false])

Fetch all the rows returned from a query.
  • Return: data on success, a MDB2 error on failure
  • Access: public

Parameters:

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.
string   $query     the SQL query
array   $types     that contains the types of the columns in the result set
array   $params     if supplied, prepare/execute will be used with this array as execute parameters
array   $param_types     that contains the types of the values defined in $params
int   $fetchmode     the fetch mode to use
bool   $rekey     if set to true, the $all will have the first column as its first dimension

[ Top ]

getAssoc   [line 599]

array|MDB2_Error getAssoc( string $query, [array $types = null], [array $params = array()], [array $param_types = null], [ $fetchmode = MDB2_FETCHMODE_DEFAULT], [bool $force_array = false], [bool $group = false])

Fetch the entire result set of a query and return it as an associative array using the first column as the key.

If the result set contains more than two columns, the value will be an array of the values from column 2-n. If the result set contains only two columns, the returned value will be a scalar with the value of the second column (unless forced to an array with the $force_array parameter). A MDB2 error code is returned on errors. If the result set contains fewer than two columns, a MDB2_ERROR_TRUNCATED error is returned.

For example, if the table 'mytable' contains:

   ID      TEXT       DATE
 --------------------------------
   1       'one'      944679408
   2       'two'      944679408
   3       'three'    944679408
Then the call getAssoc('SELECT id,text FROM mytable') returns:
    array(
      '1' => 'one',
      '2' => 'two',
      '3' => 'three',
    )
...while the call getAssoc('SELECT id,text,date FROM mytable') returns:
    array(
      '1' => array('one', '944679408'),
      '2' => array('two', '944679408'),
      '3' => array('three', '944679408')
    )

If the more than one row occurs with the same value in the first column, the last row overwrites all previous ones by default. Use the $group parameter if you don't want to overwrite like this. Example:

 getAssoc('SELECT category,id,name FROM mytable', null, null
           MDB2_FETCHMODE_ASSOC, false, true) returns:
    array(
      '1' => array(array('id' => '4', 'name' => 'number four'),
                   array('id' => '6', 'name' => 'number six')
             ),
      '9' => array(array('id' => '4', 'name' => 'number four'),
                   array('id' => '6', 'name' => 'number six')
             )
    )

Keep in mind that database functions in PHP usually return string values for results regardless of the database's internal type.

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

Parameters:

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.
string   $query     the SQL query
array   $types     that contains the types of the columns in the result set
array   $params     if supplied, prepare/execute will be used with this array as execute parameters
array   $param_types     that contains the types of the values defined in $params
   $fetchmode     

[ Top ]

getBeforeID   [line 675]

int|MDB2_Error getBeforeID( string $table, [string $field = null], [bool $ondemand = true], [bool $quote = true])

Returns the next free id of a sequence if the RDBMS does not support auto increment
  • Return: id on success, a MDB2 error on failure
  • 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
bool   $ondemand     when true the sequence is automatic created, if it not exists
bool   $quote     if the returned value should be quoted

[ Top ]

getCol   [line 438]

array|MDB2_Error getCol( string $query, [string $type = null], [array $params = array()], [array $param_types = null], [int|string $colnum = 0])

Fetch a single column from a result set and return it as an indexed array.
  • Return: data on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SQL query
string   $type     that contains the type of the column in the result set
array   $params     if supplied, prepare/execute will be used with this array as execute parameters
array   $param_types     that contains the types of the values defined in $params
int|string   $colnum     which column to return

[ Top ]

getOne   [line 345]

scalar|MDB2_Error getOne( string $query, [string $type = null], [array $params = array()], [array $param_types = null], [int|string $colnum = 0])

Fetch the first column of the first row of data returned from a query.

Takes care of doing the query and freeing the results when finished.

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

Parameters:

string   $query     the SQL query
string   $type     that contains the type of the column in the result set
array   $params     if supplied, prepare/execute will be used with this array as execute parameters
array   $param_types     that contains the types of the values defined in $params
int|string   $colnum     which column to return

[ Top ]

getRow   [line 392]

array|MDB2_Error getRow( string $query, [array $types = null], [array $params = array()], [array $param_types = null], [int $fetchmode = MDB2_FETCHMODE_DEFAULT])

Fetch the first row of data returned from a query. Takes care of doing the query and freeing the results when finished.
  • Return: data on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     the SQL query
array   $types     that contains the types of the columns in the result set
array   $params     if supplied, prepare/execute will be used with this array as execute parameters
array   $param_types     that contains the types of the values defined in $params
int   $fetchmode     the fetch mode to use

[ Top ]

limitQuery   [line 273]

MDB2_Result|MDB2_Error limitQuery( string $query, array $types, integer $limit, [integer $offset = 0], [string $result_class = true], [mixed $result_wrap_class = false])

Generates a limited query
  • Return: result set on success, a MDB2 error on failure
  • Access: public

Parameters:

string   $query     query
array   $types     that contains the types of the columns in the result set
integer   $limit     the numbers of rows to fetch
integer   $offset     the row to start to fetching
string   $result_class     which specifies which result class to use
mixed   $result_wrap_class     string which specifies which class to wrap results in

[ Top ]


Documentation generated on Mon, 29 Oct 2012 16:00:09 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.