ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
MDB2_Result_oci8 Class Reference
+ Inheritance diagram for MDB2_Result_oci8:
+ Collaboration diagram for MDB2_Result_oci8:

Public Member Functions

fetchRow ($fetchmode=MDB2_FETCHMODE_DEFAULT, $rownum=null)
 Fetch a row and insert the data into an existing array. More...
 
 _getColumnNames ()
 Retrieve the names of columns returned by the DBMS in a query result. More...
 
 numCols ()
 Count the number of columns returned by the DBMS in a query result. More...
 
 free ()
 Free the internal resources associated with $result. More...
 
- Public Member Functions inherited from MDB2_Result_Common
 __construct ($db, $result, $limit=0, $offset=0)
 Constructor. More...
 
 fetch ($fetch_mode=ilDBConstants::FETCHMODE_ASSOC)
 
 fetchObject ()
 
 fetchAssoc ()
 
 MDB2_Result_Common ($db, $result, $limit=0, $offset=0)
 PHP 4 Constructor. More...
 
 setResultTypes ($types)
 Define the list of types to be associated with the columns of a given result set. More...
 
 seek ($rownum=0)
 Seek to a specific row in a result set. More...
 
fetchRow ($fetchmode=MDB2_FETCHMODE_DEFAULT, $rownum=null)
 Fetch and return a row of data. More...
 
 fetchOne ($colnum=0, $rownum=null)
 fetch single column from the next row from a result set More...
 
 fetchCol ($colnum=0)
 Fetch and return a column from the current row pointer position. More...
 
 fetchAll ($fetchmode=MDB2_FETCHMODE_DEFAULT, $rekey=false, $force_array=false, $group=false)
 Fetch and return all rows from the current row pointer position. More...
 
 rowCount ()
 Returns the actual row number that was last fetched (count from 0) More...
 
 numRows ()
 Returns the number of rows in a result object. More...
 
 nextResult ()
 Move the internal result pointer to the next available result. More...
 
 getColumnNames ($flip=false)
 Retrieve the names of columns returned by the DBMS in a query result or from the cache. More...
 
 _getColumnNames ()
 Retrieve the names of columns returned by the DBMS in a query result. More...
 
 numCols ()
 Count the number of columns returned by the DBMS in a query result. More...
 
 getResource ()
 return the resource associated with the result object More...
 
 bindColumn ($column, &$value, $type=null)
 Set bind variable to a column. More...
 
 _assignBindColumns ($row)
 Bind a variable to a value in the result row. More...
 
 free ()
 Free the internal resources associated with result. More...
 
 execute ($a_data=null)
 
- Public Member Functions inherited from ilDBStatement
 fetchRow ($fetch_mode)
 

Additional Inherited Members

- Data Fields inherited from MDB2_Result_Common
 $db
 
 $result
 
 $rownum = -1
 
 $types = array()
 
 $values = array()
 
 $offset
 
 $offset_count = 0
 
 $limit
 
 $column_names
 

Detailed Description

Definition at line 968 of file oci8.php.

Member Function Documentation

◆ _getColumnNames()

MDB2_Result_oci8::_getColumnNames ( )

Retrieve the names of columns returned by the DBMS in a query result.

Returns
mixed Array variable that holds the names of columns as keys or an MDB2 error on failure. Some DBMS may not return any columns when the result set does not contain any rows. private

Definition at line 1057 of file oci8.php.

References $column, $columns, array, PEAR\isError(), and MDB2_PORTABILITY_FIX_CASE.

1058  {
1059  $columns = array();
1060  $numcols = $this->numCols();
1061  if (PEAR::isError($numcols)) {
1062  return $numcols;
1063  }
1064  for ($column = 0; $column < $numcols; $column++) {
1065  $column_name = @OCIColumnName($this->result, $column + 1);
1066  $columns[$column_name] = $column;
1067  }
1068  if ($this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) {
1069  $columns = array_change_key_case($columns, $this->db->options['field_case']);
1070  }
1071  return $columns;
1072  }
$column
Definition: 39dropdown.php:62
numCols()
Count the number of columns returned by the DBMS in a query result.
Definition: oci8.php:1084
Create styles array
The data for the language used.
if(! $in) $columns
Definition: Utf8Test.php:45
const MDB2_PORTABILITY_FIX_CASE
Portability: convert names of tables and fields to case defined in the "field_case" option when using...
Definition: MDB2.php:163
isError($data, $code=null)
Tell whether a value is a PEAR error.
Definition: PEAR.php:280
+ Here is the call graph for this function:

◆ fetchRow()

& MDB2_Result_oci8::fetchRow (   $fetchmode = MDB2_FETCHMODE_DEFAULT,
  $rownum = null 
)

Fetch a row and insert the data into an existing array.

Parameters
int$fetchmodehow the array data should be indexed
int$rownumnumber of the row where the data can be found
Returns
int data array on success, a MDB2 error on failure public

Definition at line 981 of file oci8.php.

References MDB2_Driver_Common\$fetchmode, $row, PEAR\isError(), MDB2_ERROR_NEED_MORE_DATA, MDB2_FETCHMODE_ASSOC, MDB2_FETCHMODE_DEFAULT, MDB2_FETCHMODE_OBJECT, MDB2_PORTABILITY_FIX_CASE, MDB2_PORTABILITY_RTRIM, and object.

982  {
983  if (!is_null($rownum)) {
984  $seek = $this->seek($rownum);
985  if (PEAR::isError($seek)) {
986  return $seek;
987  }
988  }
989  if ($fetchmode == MDB2_FETCHMODE_DEFAULT) {
990  $fetchmode = $this->db->fetchmode;
991  }
992  if ($fetchmode & MDB2_FETCHMODE_ASSOC) {
993  @OCIFetchInto($this->result, $row, OCI_ASSOC+OCI_RETURN_NULLS);
994  if (is_array($row)
995  && $this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE
996  ) {
997  $row = array_change_key_case($row, $this->db->options['field_case']);
998  }
999  } else {
1000  @OCIFetchInto($this->result, $row, OCI_RETURN_NULLS);
1001  }
1002  if (!$row) {
1003  if ($this->result === false) {
1004  $err =& $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null,
1005  'resultset has already been freed', __FUNCTION__);
1006  return $err;
1007  }
1008  $null = null;
1009  return $null;
1010  }
1011  // remove additional column at the end
1012  if ($this->offset > 0) {
1013  array_pop($row);
1014  }
1015  $mode = 0;
1016  $rtrim = false;
1017  if ($this->db->options['portability'] & MDB2_PORTABILITY_RTRIM) {
1018  if (empty($this->types)) {
1019  $mode += MDB2_PORTABILITY_RTRIM;
1020  } else {
1021  $rtrim = true;
1022  }
1023  }
1024  if ($mode) {
1025  $this->db->_fixResultArrayValues($row, $mode);
1026  }
1027  if (!empty($this->types)) {
1028  $row = $this->db->datatype->convertResultRow($this->types, $row, $rtrim);
1029  }
1030  if (!empty($this->values)) {
1031  $this->_assignBindColumns($row);
1032  }
1033  if ($fetchmode === MDB2_FETCHMODE_OBJECT) {
1034  $object_class = $this->db->options['fetch_class'];
1035  if ($object_class == 'stdClass') {
1036  $row = (object) $row;
1037  } else {
1038  $row = new $object_class($row);
1039  }
1040  }
1041  ++$this->rownum;
1042  return $row;
1043  }
const MDB2_FETCHMODE_ASSOC
Column data indexed by column names.
Definition: MDB2.php:134
const MDB2_FETCHMODE_DEFAULT
This is a special constant that tells MDB2 the user hasn&#39;t specified any particular get mode...
Definition: MDB2.php:124
_assignBindColumns($row)
Bind a variable to a value in the result row.
Definition: MDB2.php:3806
const MDB2_FETCHMODE_OBJECT
Column data as object properties.
Definition: MDB2.php:139
const MDB2_ERROR_NEED_MORE_DATA
Definition: MDB2.php:92
const MDB2_PORTABILITY_RTRIM
Portability: right trim the data output by query*() and fetch*().
Definition: MDB2.php:169
seek($rownum=0)
Seek to a specific row in a result set.
Definition: MDB2.php:3452
Create new PHPExcel object
obj_idprivate
const MDB2_PORTABILITY_FIX_CASE
Portability: convert names of tables and fields to case defined in the "field_case" option when using...
Definition: MDB2.php:163
isError($data, $code=null)
Tell whether a value is a PEAR error.
Definition: PEAR.php:280
+ Here is the call graph for this function:

◆ free()

MDB2_Result_oci8::free ( )

Free the internal resources associated with $result.

Returns
boolean true on success, false if $result is invalid public

Definition at line 1112 of file oci8.php.

References MDB2_OK.

1113  {
1114  if (is_resource($this->result) && $this->db->connection) {
1115  $free = @OCIFreeCursor($this->result);
1116  if ($free === false) {
1117  return $this->db->raiseError(null, null, null,
1118  'Could not free result', __FUNCTION__);
1119  }
1120  }
1121  $this->result = false;
1122  return MDB2_OK;
1123 
1124  }
const MDB2_OK(!class_exists('PEAR'))
The method mapErrorCode in each MDB2_dbtype implementation maps native error codes to one of these...
Definition: MDB2.php:72

◆ numCols()

MDB2_Result_oci8::numCols ( )

Count the number of columns returned by the DBMS in a query result.

Returns
mixed integer value with the number of columns, a MDB2 error on failure public

Definition at line 1084 of file oci8.php.

References MDB2_ERROR_NEED_MORE_DATA.

1085  {
1086  $cols = @OCINumCols($this->result);
1087  if (is_null($cols)) {
1088  if ($this->result === false) {
1089  return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null,
1090  'resultset has already been freed', __FUNCTION__);
1091  } elseif (is_null($this->result)) {
1092  return count($this->types);
1093  }
1094  return $this->db->raiseError(null, null, null,
1095  'Could not get column count', __FUNCTION__);
1096  }
1097  if ($this->offset > 0) {
1098  --$cols;
1099  }
1100  return $cols;
1101  }
const MDB2_ERROR_NEED_MORE_DATA
Definition: MDB2.php:92

The documentation for this class was generated from the following file: