Phalcon\Db\Adapter\Pdo\AbstractPdo
Абстрактный класс Phalcon\Db\Adapter\Pdo\AbstractPdo
Пространство имен | Phalcon\Db\Adapter\Pdo |
Использует | Phalcon\Db\Adapter\AbstractAdapter, Phalcon\Db\Column, Phalcon\Db\Exception, Phalcon\Db\Result\Pdo, Phalcon\Db\ResultInterface, Phalcon\Events\ManagerInterface |
Расширяет | AbstractAdapter |
Phalcon\Db\Adapter\Pdo - это Phalcon\Db, который внутренне использует PDO для подключения к базе данных
<?php use Phalcon\Db\Adapter\Pdo\Mysql; $config = [ "host" => "localhost", "dbname" => "blog", "port" => 3306, "username" => "sigma", "password" => "secret", ]; $connection = new Mysql($config);
Свойства
/** * Последние затронутые строки */ protected affectedRows; /** * PDO Handler * * @var \PDO */ protected pdo;
Методы
public function __construct( array $descriptor );
Конструктор Phalcon\Db\Adapter\Pdo
public function affectedRows(): int;
Возвращает число затронутых строк по последней INSERT/UPDATE/DELETE, выполненной в системе базы данных
$connection->execute( "DELETE FROM robots" ); echo $connection->affectedRows(), " were deleted";
public function begin( bool $nesting = bool ): bool;
Запуск транзакции в соединении
public function close(): bool;
Закрывает активное соединение, возвращающее успех. Phalcon автоматически закрывает и уничтожает активные соединения, когда запрос заканчивается
public function commit( bool $nesting = bool ): bool;
Фиксирует активную транзакцию в соединении
public function connect( array $descriptor = null ): bool;
Этот метод автоматически вызывается в конструкторе \Phalcon\Db\Adapter\Pdo.
Call it when you need to restore a database connection.
use Phalcon\Db\Adapter\Pdo\Mysql; // Установить связь $connection = new Mysql( [ "host" => "localhost", "username" => "sigma", "password" => "secret", "dbname" => "blog", "port" => 3306, ] ); // Reconnect $connection->connect();
public function convertBoundParams( string $sql, array $params = [] ): array;
Преобразует связанные параметры, такие как :name: или ?1, в параметры привязки PDO?
print_r( $connection->convertBoundParams( "SELECTFROM robots WHERE name = :name:", [ "Bender", ] ) );
public function escapeString( string $str ): string;
Экранирует значение, чтобы избежать SQL-инъекций в соответствии с активной кодировкой в соединении
$escapedStr = $connection->escapeString("some dangerous value");
Экранирует значение, чтобы избежать SQL-инъекций в соответствии с активной кодировкой в соединении
$escapedStr = $connection->escapeString("some dangerous value");
public function execute( string $sqlStatement, mixed $bindParams = null, mixed $bindTypes = null ): bool;
Отправляет инструкции SQL на сервер базы данных, возвращая состояние успешного выполнения. Используйте этот метод только в том случае, если инструкция SQL, отправленная на сервер, не возвращает ни одной строки
// Вставка данных $success = $connection->execute( "INSERT INTO robots VALUES (1, 'Astro Boy')" ); $success = $connection->execute( "INSERT INTO robots VALUES (?, ?)", [ 1, "Astro Boy", ] );
public function executePrepared( \PDOStatement $statement, array $placeholders, mixed $dataTypes ): \PDOStatement;
Выполняет привязку подготовленного оператора. Эта функция использует целочисленные индексы, начинающиеся с нуля
use Phalcon\Db\Column; $statement = $db->prepare( "SELECTFROM robots WHERE name = :name" ); $result = $connection->executePrepared( $statement, [ "name" => "Voltron", ], [ "name" => Column::BIND_PARAM_INT, ] );
public function getErrorInfo();
Возвращает сведения об ошибке, если таковые имеются
public function getInternalHandler(): \PDO;
Возвращает внутренний обработчик PDO
public function getTransactionLevel(): int;
Возвращает текущий уровень вложенности транзакции
public function isUnderTransaction(): bool;
Проверяет, находится ли соединение под транзакцией
$connection->begin(); // true var_dump( $connection->isUnderTransaction() );
public function lastInsertId( mixed $sequenceName = null ): int | bool;
Возвращает идентификатор вставки для столбца auto_increment / serial, вставленного в последнюю выполняемую инструкцию SQL
// Установка нового робота $success = $connection->insert( "robots", [ "Astro Boy", 1952, ], [ "name", "year", ] ); // Получаем сгенерированный ID $id = $connection->lastInsertId();
public function prepare( string $sqlStatement ): \PDOStatement;
Возвращает PDO-подготовленный оператор, который будет выполняться с помощью команды executePrepared
use Phalcon\Db\Column; $statement = $db->prepare( "SELECTFROM robots WHERE name = :name" ); $result = $connection->executePrepared( $statement, [ "name" => "Voltron", ], [ "name" => Column::BIND_PARAM_INT, ] );
public function query( string $sqlStatement, mixed $bindParams = null, mixed $bindTypes = null ): ResultInterface | bool;
Отправляет инструкции SQL на сервер базы данных, возвращая состояние успешного выполнения. Используйте этот метод только в том случае, если инструкция SQL, отправленная на сервер, возвращает строки
// Запрос данных $resultset = $connection->query( "SELECTFROM robots WHERE type = 'mechanical'" ); $resultset = $connection->query( "SELECTFROM robots WHERE type = ?", [ "mechanical", ] );
public function rollback( bool $nesting = bool ): bool;
Откаты активной транзакции в соединении
abstract protected function getDsnDefaults(): array;
Возвращает значения по умолчанию DSN адаптера PDO в виде карты значений ключа.