OCI8Statement
in package
implements
IteratorAggregate, Statement
The OCI8 implementation of the Statement interface.
Tags
Interfaces, Classes and Traits
- IteratorAggregate
- Statement
- Statement interface.
Table of Contents
- $_conn : OCI8Connection
- $_dbh : resource
- $_defaultFetchMode : int
- $_PARAM : string
- $_paramMap : array<string|int, mixed>
- $_sth : resource
- $fetchModeMap : array<string|int, mixed>
- $boundValues : array<string|int, mixed>
- Holds references to bound parameter values.
- $result : bool
- Indicates whether the statement is in the state when fetching results is possible
- __construct() : mixed
- Creates a new OCI8Statement that uses the given connection handle and SQL statement.
- bindParam() : bool
- Binds a PHP variable to a corresponding named (not supported by mysqli driver, see comment below) or question mark placeholder in the SQL statement that was use to prepare the statement. Unlike PDOStatement->bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement->execute() is called.
- bindValue() : bool
- Binds a value to a corresponding named (not supported by mysqli driver, see comment below) or positional placeholder in the SQL statement that was used to prepare the statement.
- closeCursor() : mixed
- {@inheritdoc}
- columnCount() : mixed
- {@inheritdoc}
- convertPositionalToNamedPlaceholders() : string
- Converts positional (?) into named placeholders (:param<num>).
- errorCode() : string
- Fetches the SQLSTATE associated with the last operation on the statement handle.
- errorInfo() : array<string|int, mixed>
- Fetches extended error information associated with the last operation on the statement handle.
- execute() : bool
- Executes a prepared statement
- fetch() : mixed
- {@inheritdoc}
- fetchAll() : mixed
- {@inheritdoc}
- fetchColumn() : mixed
- {@inheritdoc}
- getIterator() : mixed
- {@inheritdoc}
- rowCount() : int
- Returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding object.
- setFetchMode() : mixed
- {@inheritdoc}
Properties
$_conn
protected
OCI8Connection
$_conn
$_dbh
protected
resource
$_dbh
$_defaultFetchMode
protected
int
$_defaultFetchMode
= PDO::FETCH_BOTH
$_PARAM
protected
static string
$_PARAM
= ':param'
$_paramMap
protected
array<string|int, mixed>
$_paramMap
= array()
$_sth
protected
resource
$_sth
$fetchModeMap
protected
static array<string|int, mixed>
$fetchModeMap
= array(PDO::FETCH_BOTH => OCI_BOTH, PDO::FETCH_ASSOC => OCI_ASSOC, PDO::FETCH_NUM => OCI_NUM, PDO::FETCH_COLUMN => OCI_NUM)
$boundValues
Holds references to bound parameter values.
private
array<string|int, mixed>
$boundValues
= array()
This is a new requirement for PHP7's oci8 extension that prevents bound values from being garbage collected.
$result
Indicates whether the statement is in the state when fetching results is possible
private
bool
$result
= false
Methods
__construct()
Creates a new OCI8Statement that uses the given connection handle and SQL statement.
public
__construct(resource $dbh, string $statement, OCI8Connection $conn) : mixed
Parameters
- $dbh : resource
-
The connection handle.
- $statement : string
-
The SQL statement.
- $conn : OCI8Connection
Return values
mixed —bindParam()
Binds a PHP variable to a corresponding named (not supported by mysqli driver, see comment below) or question mark placeholder in the SQL statement that was use to prepare the statement. Unlike PDOStatement->bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement->execute() is called.
public
bindParam(mixed $column, mixed &$variable[, mixed $type = null ][, mixed $length = null ]) : bool
Parameters
- $column : mixed
-
Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.
- $variable : mixed
-
Name of the PHP variable to bind to the SQL statement parameter.
- $type : mixed = null
-
Explicit data type for the parameter using the PDO::PARAM_* constants. To return an INOUT parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits for the data_type parameter.
- $length : mixed = null
-
You must specify maxlength when using an OUT bind so that PHP allocates enough memory to hold the returned value.
Return values
bool —TRUE on success or FALSE on failure.
bindValue()
Binds a value to a corresponding named (not supported by mysqli driver, see comment below) or positional placeholder in the SQL statement that was used to prepare the statement.
public
bindValue(mixed $param, mixed $value[, mixed $type = null ]) : bool
Parameters
- $param : mixed
-
Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.
- $value : mixed
-
The value to bind to the parameter.
- $type : mixed = null
-
Explicit data type for the parameter using the PDO::PARAM_* constants.
Return values
bool —TRUE on success or FALSE on failure.
closeCursor()
{@inheritdoc}
public
closeCursor() : mixed
Return values
mixed —columnCount()
{@inheritdoc}
public
columnCount() : mixed
Return values
mixed —convertPositionalToNamedPlaceholders()
Converts positional (?) into named placeholders (:param<num>).
public
static convertPositionalToNamedPlaceholders(string $statement) : string
Oracle does not support positional parameters, hence this method converts all positional parameters into artificially named parameters. Note that this conversion is not perfect. All question marks (?) in the original statement are treated as placeholders and converted to a named parameter.
The algorithm uses a state machine with two possible states: InLiteral and NotInLiteral. Question marks inside literal strings are therefore handled correctly by this method. This comes at a cost, the whole sql statement has to be looped over.
Parameters
- $statement : string
-
The SQL statement to convert.
Tags
Return values
string —errorCode()
Fetches the SQLSTATE associated with the last operation on the statement handle.
public
errorCode() : string
Return values
string —The error code string.
errorInfo()
Fetches extended error information associated with the last operation on the statement handle.
public
errorInfo() : array<string|int, mixed>
Return values
array<string|int, mixed> —The error info array.
execute()
Executes a prepared statement
public
execute([mixed $params = null ]) : bool
Parameters
- $params : mixed = null
-
An array of values with as many elements as there are bound parameters in the SQL statement being executed.
Return values
bool —TRUE on success or FALSE on failure.
fetch()
{@inheritdoc}
public
fetch([mixed $fetchMode = null ]) : mixed
Parameters
- $fetchMode : mixed = null
Return values
mixed —fetchAll()
{@inheritdoc}
public
fetchAll([mixed $fetchMode = null ]) : mixed
Parameters
- $fetchMode : mixed = null
Return values
mixed —fetchColumn()
{@inheritdoc}
public
fetchColumn(mixed $columnIndex) : mixed
Parameters
- $columnIndex : mixed
Return values
mixed —getIterator()
{@inheritdoc}
public
getIterator() : mixed
Return values
mixed —rowCount()
Returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding object.
public
rowCount() : int
Return values
int —The number of rows.
setFetchMode()
{@inheritdoc}
public
setFetchMode(mixed $fetchMode[, mixed $arg2 = null ][, mixed $arg3 = null ]) : mixed
Parameters
- $fetchMode : mixed
- $arg2 : mixed = null
- $arg3 : mixed = null