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 в виде карты значений ключа.