ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:connection:setfetchmode

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
reference:setfetchmode [2015/07/12 22:12] mnewnhamv5:reference:connection:setfetchmode [2018/06/11 10:22] – [Fetch Both] Add full code example dregad
Line 1: Line 1:
 ====== setFetchMode ======  ====== setFetchMode ====== 
-<WRAP alert> +~~NOTOC~~ 
-Use of direct querying of the $fetchMode property, and use of setFetchMode() as a getter is deprecated as of version 5.21.0 and will be removed as of version 6.0.0. As of 5.21.0 you should use [[reference:getFetchMode|getFetchMode()]] intead + 
-</WRAP> +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.
-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.+
 <WRAP right 300px box> <WRAP right 300px box>
-== 5.21.0 Syntax ==+== See Also == 
 +[[v5:reference:$ADODB_FETCH_MODE]]\\ 
 +[[v5:reference:connection:getFetchMode()]]\\ 
 +== Syntax ==
     int setFetchMode(     int setFetchMode(
-    optional int $fetchType +    optional int $fetchMode
-    ) +
-== 6.0.0 Syntax == +
-    void setFetchMode( +
-    int $fetchType+
     )     )
 +
 </WRAP> </WRAP>
 ==== Use as a getter ==== ==== Use as a getter ====
 Use <code>setFetchMode()</code> without an argument to return the current fetch mode Use <code>setFetchMode()</code> without an argument to return the current fetch mode
 +----------------------------------
 ==== Constants ==== ==== Constants ====
-^Name^Value^Description^ +^ 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_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_NUM      | 1      | The recordset is returned as a numeric array                                                                                                      
-|ADODB_FETCH_ASSOC|2|The recordset is returned as an associative 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|+| ADODB_FETCH_BOTH     | 3      | The record is returned as both a numeric and associative arrays. This option is not supported by all databases                                    |
  
 ===== Usage ===== ===== Usage =====
Line 27: Line 27:
 <code php> <code php>
 $db->setFetchMode(ADODB_FETCH_NUM);   $db->setFetchMode(ADODB_FETCH_NUM);  
- +$rs1 = $db->execute('select * from table');  
-$rs1 = $db->Execute('select * from table');  +
  
 $db->setFetchMode(ADODB_FETCH_ASSOC) $db->setFetchMode(ADODB_FETCH_ASSOC)
- +$rs2 = $db->execute('select * from table');  
-$rs2 = $db->Execute('select * from table');  +
  
 print_r($rs1->fields);  print_r($rs1->fields); 
Line 45: Line 43:
  */  */
  
 +</code>
 +====== Fetch Both =====
 +Some databases support a 'Fetch Both' mode, which can be set using ''ADODB_FETCH_MODE''. In this mode, the recordset contains data as both a numeric and an associative array, interspersed. 
 +<code php>
 +$db->setFetchMode(ADODB_FETCH_BOTH)
 +$rs3 = $db->execute('select * from table'); 
 +print_r($rs3->fields); 
 +/*
 +  shows _array([0]=>'v0',
 +               ['col1']=>'v0',
 +               [1] =>'v1',
 +               ['col2']=>'v1'
 +               )
 +*/
 </code> </code>
  
v5/reference/connection/setfetchmode.txt · Last modified: 2020/01/05 12:30 by dregad