Абстрактный класс Phalcon\Db\Adapter\Pdo
extends абстрактный класс Phalcon\Db\Adapter
implements Phalcon\Db\AdapterInterface, Phalcon\Events\EventsAwareInterface
Phalcon\Db\Adapter\Pdo — это Phalcon\Db, который использует PDO для подключения к базе данных.
$connection = new Phalcon\Db\Adapter\Pdo\Mysql(array(
'host' => '192.168.0.11',
'username' => 'sigma',
'password' => 'secret',
'dbname' => 'blog',
'port' => '3306'
));
//or connect via unix socket
$connection = new Phalcon\Db\Adapter\Pdo\Mysql(array(
'dsn' => 'mysql:unix_socket=/PATH/TO/SOCK_FILE;dbname=YOUR_DB_NAME;charset=utf8;',
'username' => 'YOUR_USERNAME',
'password' => 'YOUR_PASSWORD',
));
Методы
public __construct (array $descriptor)
Конструктор для Phalcon\Db\Adapter\Pdo
public boolean connect ([array $descriptor])
Этот метод автоматически вызывается в конструкторе Phalcon\Db\Adapter\Pdo. Вызывайте его, когда вам нужно восстановить подключение к базе данных.
//Make a connection $connection = new Phalcon\Db\Adapter\Pdo\Mysql(array( 'host' => '192.168.0.11', 'username' => 'sigma', 'password' => 'secret', 'dbname' => 'blog', )); //Reconnect $connection->connect();
public PDOStatement prepare (string $sqlStatement)
Возвращает подготовленное утверждение PDO для выполнения с ‘executePrepared’
$statement = $connection->prepare('SELECT * FROM robots WHERE name = :name');
$pdoResult = $connection->executePrepared($statement, array('name' => 'Voltron'));
public PDOStatement executePrepared (PDOStatement $statement, array $placeholders, array $dataTypes)
Выполняет подготовленное утверждение с привязкой. Эта функция использует целочисленные индексы, начиная с нуля
$statement = $connection->prepare('SELECT * FROM robots WHERE name = :name');
$pdoResult = $connection->executePrepared($statement, array('name' => 'Voltron'));
public Phalcon\Db\ResultInterface query (string $sqlStatement, [unknown $placeholders], [unknown $dataTypes])
Отправляет SQL-запросы на сервер базы данных, возвращая состояние успешности. Используйте этот метод только тогда, когда отправленный на сервер SQL-запрос возвращает строки.
//Querying data
$resultset = $connection->query("SELECT * FROM robots WHERE type='mechanical'");
$resultset = $connection->query("SELECT * FROM robots WHERE type=?", array("mechanical"));
public boolean execute (string $sqlStatement, [unknown $placeholders], [unknown $dataTypes])
Отправляет SQL-запросы на сервер базы данных, возвращая состояние успешности. Используйте этот метод только тогда, когда SQL-запрос на сервер не возвращает ни одной строки.
//Inserting data
$success = $connection->execute("INSERT INTO robots VALUES (1, 'Astro Boy')");
$success = $connection->execute("INSERT INTO robots VALUES (?, ?)", array(1, 'Astro Boy'));
public int affectedRows ()
Возвращает количество затронутых строк последним выполненным в системе базы данных запросом INSERT/UPDATE/DELETE.
$connection->execute("DELETE FROM robots");
echo $connection->affectedRows(), ' were deleted';
public boolean close ()
Закрывает активное подключение, возвращая успех. Phalcon автоматически закрывает и уничтожает активные подключения при завершении запроса.
public string escapeIdentifier (string $identifier)
Экранирует имя столбца/таблицы/схемы.
$escapedTable = $connection->escapeIdentifier('robots');
$escapedTable = $connection->escapeIdentifier(array('store', 'robots'));
public string escapeString (string $str)
Экранирует значение для предотвращения SQL-инъекций в соответствии с активной кодировкой символов в подключении.
$escapedStr = $connection->escapeString('some dangerous value');
public array convertBoundParams (unknown $sqlStatement, array $params)
Преобразует связанные параметры, такие как :name: или ?1, в параметры привязки PDO ?
print_r($connection->convertBoundParams('SELECT * FROM robots WHERE name = :name:', array('Bender')));
public int lastInsertId ([string $sequenceName])
Возвращает идентификатор вставки для столбца auto_increment/serial, вставленного в последнем выполненном SQL-запросе.
//Inserting a new robot
$success = $connection->insert(
"robots",
array("Astro Boy", 1952),
array("name", "year")
);
//Getting the generated id
$id = $connection->lastInsertId();
public boolean begin ([boolean $nesting])
Инициализирует транзакцию в подключении.
public boolean rollback ([boolean $nesting])
Отменяет активную транзакцию в подключении.
public boolean commit ([boolean $nesting])
Подтверждает активную транзакцию в подключении.
public int getTransactionLevel ()
Возвращает текущий уровень вложенности транзакции.
public boolean isUnderTransaction ()
Проверяет, находится ли подключение в транзакции.
$connection->begin(); var_dump($connection->isUnderTransaction()); //true
public PDO getInternalHandler ()
Возвращает внутренний обработчик PDO.
public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager) унаследовано от Phalcon\Db\Adapter
Устанавливает менеджер событий.
public Phalcon\Events\ManagerInterface getEventsManager () унаследовано от Phalcon\Db\Adapter
Возвращает внутренний менеджер событий.
public setDialect (unknown $dialect) унаследовано от Phalcon\Db\Adapter
Устанавливает диалект, используемый для создания SQL.
public Phalcon\Db\DialectInterface getDialect () унаследовано от Phalcon\Db\Adapter
Возвращает внутренний экземпляр диалекта.
public array fetchOne (string $sqlQuery, [int $fetchMode], [unknown $placeholders]) унаследовано от Phalcon\Db\Adapter
Возвращает первую строку в результате SQL-запроса.
//Getting first robot
$robot = $connection->fetchOne("SELECT * FROM robots");
print_r($robot);
//Getting first robot with associative indexes only
$robot = $connection->fetchOne("SELECT * FROM robots", Phalcon\Db::FETCH_ASSOC);
print_r($robot);
public array fetchAll (string $sqlQuery, [int $fetchMode], [unknown $placeholders]) унаследовано от Phalcon\Db\Adapter
Выводит весь результат запроса в массив.
//Getting all robots with associative indexes only
$robots = $connection->fetchAll("SELECT * FROM robots", Phalcon\Db::FETCH_ASSOC);
foreach ($robots as $robot) {
print_r($robot);
}
//Getting all robots that contains word "robot" withing the name
$robots = $connection->fetchAll("SELECT * FROM robots WHERE name LIKE :name",
Phalcon\Db::FETCH_ASSOC,
array('name' => '%robot%')
);
foreach($robots as $robot){
print_r($robot);
}
public boolean insert (string $table, array $values, [array $fields], [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Вставляет данные в таблицу, используя собственную синтаксическую конструкцию SQL RBDM.
//Inserting a new robot
$success = $connection->insert(
"robots",
array("Astro Boy", 1952),
array("name", "year")
);
//Next SQL sentence is sent to the database system
INSERT INTO `robots` (`name`, `year`) VALUES ("Astro boy", 1952);
public boolean update (string $table, array $fields, array $values, [string $whereCondition], [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Обновляет данные в таблице, используя собственную синтаксическую конструкцию SQL RBDM.
//Updating existing robot
$success = $connection->update(
"robots",
array("name"),
array("New Astro Boy"),
"id = 101"
);
//Next SQL sentence is sent to the database system
UPDATE `robots` SET `name` = "Astro boy" WHERE id = 101
public boolean delete (string $table, [string $whereCondition], [array $placeholders], [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Удаляет данные из таблицы, используя собственную синтаксическую конструкцию SQL RBDM.
//Deleting existing robot
$success = $connection->delete(
"robots",
"id = 101"
);
//Next SQL sentence is generated
DELETE FROM `robots` WHERE `id` = 101
public string getColumnList (array $columnList) унаследовано от Phalcon\Db\Adapter
Возвращает список столбцов.
public string limit (string $sqlQuery, int $number) унаследовано от Phalcon\Db\Adapter
Добавляет в SQL-запрос $sqlQuery ограничение LIMIT.
echo $connection->limit("SELECT * FROM robots", 5);
public string tableExists (string $tableName, [string $schemaName]) унаследовано от Phalcon\Db\Adapter
Генерирует SQL, проверяющий существование схемы.таблицы.
var_dump($connection->tableExists("blog", "posts"));
public string viewExists (string $viewName, [string $schemaName]) унаследовано от Phalcon\Db\Adapter
Генерирует SQL, проверяющий существование схемы.представления.
var_dump($connection->viewExists("active_users", "posts"));
public string forUpdate (string $sqlQuery) унаследовано от Phalcon\Db\Adapter
Возвращает модифицированный SQL с клаузой FOR UPDATE.
public string sharedLock (string $sqlQuery) унаследовано от Phalcon\Db\Adapter
Возвращает SQL, модифицированный с клаузой LOCK IN SHARE MODE.
public boolean createTable (string $tableName, string $schemaName, array $definition) унаследовано от Phalcon\Db\Adapter
Создаёт таблицу.
public boolean dropTable (string $tableName, [string $schemaName], [boolean $ifExists]) унаследовано от Phalcon\Db\Adapter
Удаляет таблицу из схемы/базы данных.
public boolean createView (unknown $viewName, array $definition, [string $schemaName]) унаследовано от Phalcon\Db\Adapter
Создаёт представление.
public boolean dropView (string $viewName, [string $schemaName], [boolean $ifExists]) унаследовано от Phalcon\Db\Adapter
Удаляет представление.
public boolean addColumn (string $tableName, string $schemaName, Phalcon\Db\ColumnInterface $column) унаследовано от Phalcon\Db\Adapter
Добавляет столбец в таблицу.
public boolean modifyColumn (string $tableName, string $schemaName, Phalcon\Db\ColumnInterface $column) унаследовано от Phalcon\Db\Adapter
Модифицирует столбец таблицы на основе определения.
public boolean dropColumn (string $tableName, string $schemaName, string $columnName) унаследовано от Phalcon\Db\Adapter
Удаляет столбец из таблицы.
public boolean addIndex (string $tableName, string $schemaName, Phalcon\Db\IndexInterface $index) унаследовано от Phalcon\Db\Adapter
Добавляет индекс в таблицу.
public boolean dropIndex (string $tableName, string $schemaName, string $indexName) inherited from Phalcon\Db\Adapter
Удалить индекс из таблицы
public boolean addPrimaryKey (string $tableName, string $schemaName, Phalcon\Db\IndexInterface $index) inherited from Phalcon\Db\Adapter
Добавить первичный ключ в таблицу
public boolean dropPrimaryKey (string $tableName, string $schemaName) inherited from Phalcon\Db\Adapter
Удалить первичный ключ таблицы
public boolean true addForeignKey (string $tableName, string $schemaName, Phalcon\Db\ReferenceInterface $reference) inherited from Phalcon\Db\Adapter
Добавить внешний ключ к таблице
public boolean true dropForeignKey (string $tableName, string $schemaName, string $referenceName) inherited from Phalcon\Db\Adapter
Удалить внешний ключ из таблицы
public string getColumnDefinition (Phalcon\Db\ColumnInterface $column) inherited from Phalcon\Db\Adapter
Возвращает определение столбца SQL из столбца
public array listTables ([string $schemaName]) inherited from Phalcon\Db\Adapter
Список всех таблиц в базе данных
print_r($connection->listTables("blog"));
public array listViews ([string $schemaName]) inherited from Phalcon\Db\Adapter
Список всех представлений в базе данных
<?php
print_r($connection->listViews("blog")); ?>
public Phalcon\Db\Index [] describeIndexes (string $table, [string $schema]) inherited from Phalcon\Db\Adapter
Список индексов таблицы
print_r($connection->describeIndexes('robots_parts'));
public Phalcon\Db\Reference [] describeReferences (string $table, [string $schema]) inherited from Phalcon\Db\Adapter
Список ссылок таблицы
print_r($connection->describeReferences('robots_parts'));
public array tableOptions (string $tableName, [string $schemaName]) inherited from Phalcon\Db\Adapter
Получить параметры создания таблицы
print_r($connection->tableOptions('robots'));
public boolean createSavepoint (string $name) inherited from Phalcon\Db\Adapter
Создать новый контрольный пункт
public boolean releaseSavepoint (string $name) inherited from Phalcon\Db\Adapter
Освободить заданный контрольный пункт
public boolean rollbackSavepoint (string $name) inherited from Phalcon\Db\Adapter
Отменить заданный контрольный пункт
public Phalcon\Db\AdapterInterface setNestedTransactionsWithSavepoints (boolean $nestedTransactionsWithSavepoints) inherited from Phalcon\Db\Adapter
Установить, должны ли вложенные транзакции использовать контрольные пункты
public boolean isNestedTransactionsWithSavepoints () inherited from Phalcon\Db\Adapter
Возвращает, должны ли вложенные транзакции использовать контрольные пункты
public string getNestedTransactionSavepointName () inherited from Phalcon\Db\Adapter
Возвращает имя контрольного пункта для использования вложенных транзакций
public Phalcon\Db\RawValue getDefaultIdValue () inherited from Phalcon\Db\Adapter
Возвращает значение по умолчанию для вставки в столбец идентификатора
//Inserting a new robot with a valid default value for the column 'id'
$success = $connection->insert(
"robots",
array($connection->getDefaultIdValue(), "Astro Boy", 1952),
array("id", "name", "year")
);
public boolean supportSequences () inherited from Phalcon\Db\Adapter
Проверка, требует ли система базы данных последовательность для создания значений автоинкремента
public boolean useExplicitIdValue () inherited from Phalcon\Db\Adapter
Проверка, требует ли система базы данных явного значения для столбцов идентификаторов
public array getDescriptor () inherited from Phalcon\Db\Adapter
Возвращает дескриптор, используемый для подключения к активной базе данных
public string getConnectionId () inherited from Phalcon\Db\Adapter
Получает уникальный идентификатор активного подключения
public string getSQLStatement () inherited from Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте
public string getRealSQLStatement () inherited from Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте без замены связанных параметров
public array getSQLVariables () inherited from Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте
public array getSQLBindTypes () inherited from Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте
public string getType () inherited from Phalcon\Db\Adapter
Возвращает тип системы базы данных, для которой используется адаптер
public string getDialectType () inherited from Phalcon\Db\Adapter
Возвращает имя используемого диалекта
abstract public Phalcon\Db\ColumnInterface [] describeColumns (string $table, [string $schema]) inherited from Phalcon\Db\AdapterInterface
Возвращает массив объектов Phalcon\Db\Column, описывающих таблицу
© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/2.0.0/api/Phalcon_Db_Adapter_Pdo.html