Db/Adapter/Mysqli.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled
with this package in the file LICENSE.txt.
It is also available through the world-wide-web at this URL:
http://framework.zend.com/license/new-bsd
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Db
- Subpackage
- Adapter
- Version
- $Id$
\Zend_Db_Adapter_Mysqli
Package: Zend_Db\Adapter
Returns
Returns
Details
Class for connecting to SQL databases and performing common operations.
- Parent(s)
- \Zend_Db_Adapter_Abstract
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties
string $_defaultStmtClass = 'Zend_Db_Statement_Mysqli'
Default class name for a DB statement.
Default value
'Zend_Db_Statement_Mysqli'
Details- Type
- string
array $_numericDataTypes = array(\Zend_Db::INT_TYPE => \Zend_Db::INT_TYPE, \Zend_Db::BIGINT_TYPE => \Zend_Db::BIGINT_TYPE, \Zend_Db::FLOAT_TYPE => \Zend_Db::FLOAT_TYPE, 'INT' => \Zend_Db::INT_TYPE, 'INTEGER' => \Zend_Db::INT_TYPE, 'MEDIUMINT' => \Zend_Db::INT_TYPE, 'SMALLINT' => \Zend_Db::INT_TYPE, 'TINYINT' => \Zend_Db::INT_TYPE, 'BIGINT' => \Zend_Db::BIGINT_TYPE, 'SERIAL' => \Zend_Db::BIGINT_TYPE, 'DEC' => \Zend_Db::FLOAT_TYPE, 'DECIMAL' => \Zend_Db::FLOAT_TYPE, 'DOUBLE' => \Zend_Db::FLOAT_TYPE, 'DOUBLE PRECISION' => \Zend_Db::FLOAT_TYPE, 'FIXED' => \Zend_Db::FLOAT_TYPE, 'FLOAT' => \Zend_Db::FLOAT_TYPE)
Keys are UPPERCASE SQL datatypes or the constants
Zend_Db::INT_TYPE, Zend_Db::BIGINT_TYPE, or Zend_Db::FLOAT_TYPE.
Values are:
0 = 32-bit integer
1 = 64-bit integer
2 = float or decimal
Default valuearray(\Zend_Db::INT_TYPE => \Zend_Db::INT_TYPE, \Zend_Db::BIGINT_TYPE => \Zend_Db::BIGINT_TYPE, \Zend_Db::FLOAT_TYPE => \Zend_Db::FLOAT_TYPE, 'INT' => \Zend_Db::INT_TYPE, 'INTEGER' => \Zend_Db::INT_TYPE, 'MEDIUMINT' => \Zend_Db::INT_TYPE, 'SMALLINT' => \Zend_Db::INT_TYPE, 'TINYINT' => \Zend_Db::INT_TYPE, 'BIGINT' => \Zend_Db::BIGINT_TYPE, 'SERIAL' => \Zend_Db::BIGINT_TYPE, 'DEC' => \Zend_Db::FLOAT_TYPE, 'DECIMAL' => \Zend_Db::FLOAT_TYPE, 'DOUBLE' => \Zend_Db::FLOAT_TYPE, 'DOUBLE PRECISION' => \Zend_Db::FLOAT_TYPE, 'FIXED' => \Zend_Db::FLOAT_TYPE, 'FLOAT' => \Zend_Db::FLOAT_TYPE)
Details- Type
- array
Methods
_connect() : void
Creates a connection to the database.
Throws
Exception | Description |
---|---|
\Zend_Db_Adapter_Mysqli_Exception |
_quote(mixed $value) : string
Quote a raw string.
Parameters
Returns
Name | Type | Description |
---|---|---|
$value | mixed | Raw string |
Type | Description |
---|---|
string | Quoted string |
describeTable(string $tableName, string $schemaName = null) : array
Returns the column descriptions for a table.
The return value is an associative array keyed by the column name,
as returned by the RDBMS.
The value of each array element is an associative array
with the following keys:
SCHEMA_NAME => string; name of database or schema
TABLE_NAME => string;
COLUMN_NAME => string; column name
COLUMN_POSITION => number; ordinal position of column in table
DATA_TYPE => string; SQL datatype name of column
DEFAULT => string; default expression of column, null if none
NULLABLE => boolean; true if column can have nulls
LENGTH => number; length of CHAR/VARCHAR
SCALE => number; scale of NUMERIC/DECIMAL
PRECISION => number; precision of NUMERIC/DECIMAL
UNSIGNED => boolean; unsigned property of an integer type
PRIMARY => boolean; true if column is part of the primary key
PRIMARY_POSITION => integer; position of column in primary key
IDENTITY => integer; true if column is auto-generated with unique values
ParametersName | Type | Description |
---|---|---|
$tableName | string | |
$schemaName | string | OPTIONAL |
Type | Description |
---|---|
array |
getQuoteIdentifierSymbol() : string
Returns the symbol the adapter uses for delimiting identifiers.
Returns
Type | Description |
---|---|
string |
lastInsertId(string $tableName = null, string $primaryKey = null) : string
Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column.
As a convention, on RDBMS brands that support sequences
(e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence
from the arguments and returns the last id generated by that sequence.
On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method
returns the last value generated for such a column, and the table name
argument is disregarded.
MySQL does not support sequences, so $tableName and $primaryKey are ignored.
ParametersName | Type | Description |
---|---|---|
$tableName | string | OPTIONAL Name of table. |
$primaryKey | string | OPTIONAL Name of primary key column. |
Type | Description |
---|---|
string |
- Todo
- Return value should be int?
limit(string $sql, int $count, int $offset = 0) : string
Adds an adapter-specific LIMIT clause to the SELECT statement.
Parameters
Returns
Name | Type | Description |
---|---|---|
$sql | string | |
$count | int | |
$offset | int | OPTIONAL |
Type | Description |
---|---|
string |
prepare(string $sql) : \Zend_Db_Statement_Mysqli
Prepare a statement and return a PDOStatement-like object.
Parameters
Returns
Name | Type | Description |
---|---|---|
$sql | string | SQL query |
Type | Description |
---|---|
\Zend_Db_Statement_Mysqli |
setFetchMode(int $mode) : void
Set the fetch mode.
Parameters
Throws
Name | Type | Description |
---|---|---|
$mode | int |
Exception | Description |
---|---|
\Zend_Db_Adapter_Mysqli_Exception |