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 21:01] – [Constants] mnewnhamv5:reference:connection:setfetchmode [2018/06/11 10:22] – [Fetch Both] Add full code example dregad
Line 1: Line 1:
-====== setFetchMode() ====== +====== setFetchMode ======  
 +~~NOTOC~~
  
-===== Constants =====+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> 
 +== See Also == 
 +[[v5:reference:$ADODB_FETCH_MODE]]\\ 
 +[[v5:reference:connection:getFetchMode()]]\\ 
 +== Syntax == 
 +    int setFetchMode( 
 +    optional int $fetchMode 
 +    )
  
-^Name^Value^Description^ +</WRAP> 
-|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  +==== Use as a getter ==== 
-|ADODB_FETCH_NUM|1|The recordset is returned as a numeric array| +Use <code>setFetchMode()</code> without an argument to return the current fetch mode 
-|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. Not supported in all databases|+==== 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                                    |
  
-===== Syntax =====+===== Usage =====
  
 <code php> <code php>
-$ADODB_FETCH_MODE = 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
- +$rs2 = $db->execute('select * from table');  
-$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;   +
- +
-$rs2 = $db->Execute('select * from table');  +
  
 print_r($rs1->fields);  print_r($rs1->fields); 
Line 32: Line 44:
  
 </code> </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>
 +
v5/reference/connection/setfetchmode.txt · Last modified: 2020/01/05 12:30 by dregad