v5:reference:connection:setfetchmode
This is an old revision of the document!
setFetchMode
If you have multiple connection objects, and want to have different fetch modes for each connection, then use SetFetchMode. Once this function is called for a connection object, that connection object will ignore the global variable $ADODB_FETCH_MODE
and will use the internal fetchMode property exclusively.
Use as a getter
Use
setFetchMode()
without an argument to return the current fetch mode
Constants
Name | Value | Description |
---|---|---|
ADODB_FETCH_DEFAULT | 0 | The recordset is returned in the default provided by the PHP driver. Use of this value is not recommended if writing cross-database applications |
ADODB_FETCH_NUM | 1 | The recordset is returned as a numeric array |
ADODB_FETCH_ASSOC | 2 | The recordset is returned as an associative array |
ADODB_FETCH_BOTH | 3 | The record is returned as both a numeric and associative arrays. This option is not supported by all databases |
Usage
$db->setFetchMode(ADODB_FETCH_NUM); $rs1 = $db->execute('select * from table'); $db->setFetchMode(ADODB_FETCH_ASSOC) $rs2 = $db->execute('select * from table'); print_r($rs1->fields); /* shows _array([0]=>'v0', [1] =>'v1') */ print_r($rs2->fields); /* * shows _array(['col1']=>'v0', ['col2'] =>'v1') */
Fetch Both
Some databases support a 'Fetch Both' mode. In this mode, the value are returned as both a numeric and an associative array, interspersed.
shows _array([0]=>'v0', ['col1']=>'v0', [1] =>'v1', ['col2']=>'v1' )
This mode can be set using ADODB_FETCH_MODE
v5/reference/connection/setfetchmode.1528705106.txt.gz · Last modified: 2018/06/11 10:18 by dregad