Абстрактный класс Phalcon\Db\Adapter\Pdo
extends абстрактный класс Phalcon\Db\Adapter
implements Phalcon\Events\EventsAwareInterface, Phalcon\Db\AdapterInterface
Phalcon\Db\Adapter\Pdo — это Phalcon\Db, который внутри использует PDO для подключения к базе данных
use Phalcon\Db\Adapter\Pdo\Mysql;
$config = [
"host" => "localhost",
"dbname" => "blog",
"port" => 3306,
"username" => "sigma",
"password" => "secret",
];
$connection = new Mysql($config);
Методы
public __construct (array $descriptor)
Конструктор для Phalcon\Db\Adapter\Pdo
public connect ([array $descriptor])
Этот метод автоматически вызывается в конструкторе \Phalcon\Db\Adapter\Pdo. Вызывайте его, когда необходимо восстановить подключение к базе данных.
use Phalcon\Db\Adapter\Pdo\Mysql;
// Make a connection
$connection = new Mysql(
[
"host" => "localhost",
"username" => "sigma",
"password" => "secret",
"dbname" => "blog",
"port" => 3306,
]
);
// Reconnect
$connection->connect();
public prepare (mixed $sqlStatement)
Возвращает подготовленное выражение PDO для выполнения с помощью ‘executePrepared’
use Phalcon\Db\Column;
$statement = $db->prepare(
"SELECT * FROM robots WHERE name = :name"
);
$result = $connection->executePrepared(
$statement,
[
"name" => "Voltron",
],
[
"name" => Column::BIND_PARAM_INT,
]
);
public PDOStatement executePrepared (PDOStatement $statement, array $placeholders, array $dataTypes)
Выполняет подготовленное выражение с привязкой. Эта функция использует целочисленные индексы, начиная с нуля
use Phalcon\Db\Column;
$statement = $db->prepare(
"SELECT * FROM robots WHERE name = :name"
);
$result = $connection->executePrepared(
$statement,
[
"name" => "Voltron",
],
[
"name" => Column::BIND_PARAM_INT,
]
);
public query (mixed $sqlStatement, [mixed $bindParams], [mixed $bindTypes])
Отправляет SQL-запросы на сервер базы данных, возвращая состояние успеха. Используйте этот метод только тогда, когда SQL-запрос отправляется на сервер и возвращает строки
// Querying data
$resultset = $connection->query(
"SELECT * FROM robots WHERE type = 'mechanical'"
);
$resultset = $connection->query(
"SELECT * FROM robots WHERE type = ?",
[
"mechanical",
]
);
public execute (mixed $sqlStatement, [mixed $bindParams], [mixed $bindTypes])
Отправляет SQL-запросы на сервер базы данных, возвращая состояние успеха. Используйте этот метод только тогда, когда SQL-запрос отправляется на сервер и не возвращает строк
// Inserting data
$success = $connection->execute(
"INSERT INTO robots VALUES (1, 'Astro Boy')"
);
$success = $connection->execute(
"INSERT INTO robots VALUES (?, ?)",
[
1,
"Astro Boy",
]
);
public affectedRows ()
Возвращает количество затронутых строк последним выполненным запросом INSERT/UPDATE/DELETE в системе базы данных
$connection->execute(
"DELETE FROM robots"
);
echo $connection->affectedRows(), " were deleted";
public close ()
Закрывает активное подключение, возвращая результат успешного закрытия. Phalcon автоматически закрывает и уничтожает активные подключения по окончании запроса
public escapeString (mixed $str)
Экранирует значение, чтобы избежать SQL-инъекций в соответствии с активной кодировкой символов в подключении
$escapedStr = $connection->escapeString("some dangerous value");
public convertBoundParams (mixed $sql, [array $params])
Преобразует связанные параметры, такие как :name: или ?1, в параметры привязки PDO ?
print_r(
$connection->convertBoundParams(
"SELECT * FROM robots WHERE name = :name:",
[
"Bender",
]
)
);
public int | boolean lastInsertId ([string $sequenceName])
Возвращает идентификатор вставки для столбца auto_increment/serial, вставленного в последнем выполненном SQL-запросе
// Inserting a new robot
$success = $connection->insert(
"robots",
[
"Astro Boy",
1952,
],
[
"name",
"year",
]
);
// Getting the generated id
$id = $connection->lastInsertId();
public begin ([mixed $nesting])
Начинает транзакцию в подключении
public rollback ([mixed $nesting])
Откатывает активную транзакцию в подключении
public commit ([mixed $nesting])
Подтверждает активную транзакцию в подключении
public getTransactionLevel ()
Возвращает текущий уровень вложенности транзакции
public isUnderTransaction ()
Проверяет, находится ли подключение в транзакции
$connection->begin();
// true
var_dump(
$connection->isUnderTransaction()
);
public getInternalHandler ()
Возвращает внутренний обработчик PDO
public array getErrorInfo ()
Возвращает информацию об ошибке, если таковая имеется
public getDialectType () унаследовано от Phalcon\Db\Adapter
Имя диалекта, используемого
public getType () унаследовано от Phalcon\Db\Adapter
Тип системы базы данных, для которой используется адаптер
public getSqlVariables () унаследовано от Phalcon\Db\Adapter
Активные переменные связанных параметров SQL
public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager) унаследовано от Phalcon\Db\Adapter
Устанавливает менеджер событий
public getEventsManager () унаследовано от Phalcon\Db\Adapter
Возвращает внутренний менеджер событий
public setDialect (Phalcon\Db\DialectInterface $dialect) унаследовано от Phalcon\Db\Adapter
Устанавливает диалект, используемый для создания SQL
public getDialect () унаследовано от Phalcon\Db\Adapter
Возвращает внутренний экземпляр диалекта
public fetchOne (mixed $sqlQuery, [mixed $fetchMode], [mixed $bindParams], [mixed $bindTypes]) унаследовано от 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], [array $bindParams], [array $bindTypes]) унаследовано от 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,
[
"name" => "%robot%",
]
);
foreach($robots as $robot) {
print_r($robot);
}
public string | ** fetchColumn (string $sqlQuery, [array $placeholders], [int | string $column]) унаследовано от Phalcon\Db\Adapter
Возвращает n-й столбец первой строки в результате выполнения SQL-запроса
// Getting count of robots
$robotsCount = $connection->fetchColumn("SELECT count(*) FROM robots");
print_r($robotsCount);
// Getting name of last edited robot
$robot = $connection->fetchColumn(
"SELECT id, name FROM robots order by modified desc",
1
);
print_r($robot);
public boolean insert (string | array $table, array $values, [array $fields], [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Вставляет данные в таблицу, используя собственную синтаксическую конструкцию RDBMS SQL
// Inserting a new robot
$success = $connection->insert(
"robots",
["Astro Boy", 1952],
["name", "year"]
);
// Next SQL sentence is sent to the database system
INSERT INTO `robots` (`name`, `year`) VALUES ("Astro boy", 1952);
public boolean insertAsDict (string $table, array $data, [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Вставляет данные в таблицу, используя собственную синтаксическую конструкцию RBDM SQL
// Inserting a new robot
$success = $connection->insertAsDict(
"robots",
[
"name" => "Astro Boy",
"year" => 1952,
]
);
// Next SQL sentence is sent to the database system
INSERT INTO `robots` (`name`, `year`) VALUES ("Astro boy", 1952);
public boolean update (string | array $table, array $fields, array $values, [string | array $whereCondition], [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Обновляет данные в таблице, используя собственную синтаксическую конструкцию RBDM SQL
// Updating existing robot
$success = $connection->update(
"robots",
["name"],
["New Astro Boy"],
"id = 101"
);
// Next SQL sentence is sent to the database system
UPDATE `robots` SET `name` = "Astro boy" WHERE id = 101
// Updating existing robot with array condition and $dataTypes
$success = $connection->update(
"robots",
["name"],
["New Astro Boy"],
[
"conditions" => "id = ?",
"bind" => [$some_unsafe_id],
"bindTypes" => [PDO::PARAM_INT], // use only if you use $dataTypes param
],
[
PDO::PARAM_STR
]
);
Предупреждение! Если $whereCondition — строка, она не экранируется.
public boolean updateAsDict (string $table, array $data, [string $whereCondition], [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Обновляет данные в таблице, используя собственную синтаксическую конструкцию RBDM SQL. Еще один, более удобный синтаксис
// Updating existing robot
$success = $connection->updateAsDict(
"robots",
[
"name" => "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 | array $table, [string $whereCondition], [array $placeholders], [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Удаляет данные из таблицы, используя собственную синтаксическую конструкцию RBDM SQL
// Deleting existing robot
$success = $connection->delete(
"robots",
"id = 101"
);
// Next SQL sentence is generated
DELETE FROM `robots` WHERE `id` = 101
public escapeIdentifier (array | string $identifier) унаследовано от Phalcon\Db\Adapter
Экранирует имя столбца/таблицы/схемы
$escapedTable = $connection->escapeIdentifier(
"robots"
);
$escapedTable = $connection->escapeIdentifier(
[
"store",
"robots",
]
);
public string getColumnList (array $columnList) унаследовано от Phalcon\Db\Adapter
Получает список столбцов
public limit (mixed $sqlQuery, mixed $number) унаследовано от Phalcon\Db\Adapter
Добавляет в $sqlQuery аргумент оператор LIMIT
echo $connection->limit("SELECT * FROM robots", 5);
public tableExists (mixed $tableName, [mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Генерирует SQL, проверяющий существование схемы.таблицы
var_dump(
$connection->tableExists("blog", "posts")
);
public viewExists (mixed $viewName, [mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Генерирует SQL, проверяющий существование схемы.представления
var_dump(
$connection->viewExists("active_users", "posts")
);
public forUpdate (mixed $sqlQuery) inherited from Phalcon\Db\Adapter
Возвращает SQL, изменённый с помощью условия FOR UPDATE
public sharedLock (mixed $sqlQuery) inherited from Phalcon\Db\Adapter
Возвращает SQL, изменённый с помощью условия LOCK IN SHARE MODE
public createTable (mixed $tableName, mixed $schemaName, array $definition) inherited from Phalcon\Db\Adapter
Создаёт таблицу
public dropTable (mixed $tableName, [mixed $schemaName], [mixed $ifExists]) inherited from Phalcon\Db\Adapter
Удаляет таблицу из схемы/базы данных
public createView (mixed $viewName, array $definition, [mixed $schemaName]) inherited from Phalcon\Db\Adapter
Создаёт представление
public dropView (mixed $viewName, [mixed $schemaName], [mixed $ifExists]) inherited from Phalcon\Db\Adapter
Удаляет представление
public addColumn (mixed $tableName, mixed $schemaName, Phalcon\Db\ColumnInterface $column) inherited from Phalcon\Db\Adapter
Добавляет столбец в таблицу
public modifyColumn (mixed $tableName, mixed $schemaName, Phalcon\Db\ColumnInterface $column, [Phalcon\Db\ColumnInterface $currentColumn]) inherited from Phalcon\Db\Adapter
Изменяет столбец таблицы на основе определения
public dropColumn (mixed $tableName, mixed $schemaName, mixed $columnName) inherited from Phalcon\Db\Adapter
Удаляет столбец из таблицы
public addIndex (mixed $tableName, mixed $schemaName, Phalcon\Db\IndexInterface $index) inherited from Phalcon\Db\Adapter
Добавляет индекс в таблицу
public dropIndex (mixed $tableName, mixed $schemaName, mixed $indexName) inherited from Phalcon\Db\Adapter
Удаляет индекс из таблицы
public addPrimaryKey (mixed $tableName, mixed $schemaName, Phalcon\Db\IndexInterface $index) inherited from Phalcon\Db\Adapter
Добавляет первичный ключ в таблицу
public dropPrimaryKey (mixed $tableName, mixed $schemaName) inherited from Phalcon\Db\Adapter
Удаляет первичный ключ таблицы
public addForeignKey (mixed $tableName, mixed $schemaName, Phalcon\Db\ReferenceInterface $reference) inherited from Phalcon\Db\Adapter
Добавляет внешний ключ в таблицу
public dropForeignKey (mixed $tableName, mixed $schemaName, mixed $referenceName) inherited from Phalcon\Db\Adapter
Удаляет внешний ключ из таблицы
public getColumnDefinition (Phalcon\Db\ColumnInterface $column) inherited from Phalcon\Db\Adapter
Возвращает определение SQL столбца из столбца
public listTables ([mixed $schemaName]) inherited from Phalcon\Db\Adapter
Список всех таблиц в базе данных
public listViews ([mixed $schemaName]) inherited from Phalcon\Db\Adapter
Список всех представлений в базе данных
public Phalcon\Db\Index[] describeIndexes (string $table, [string $schema]) inherited from Phalcon\Db\Adapter
Список индексов таблицы
public describeReferences (mixed $table, [mixed $schema]) inherited from Phalcon\Db\Adapter
Список ссылок таблицы
public tableOptions (mixed $tableName, [mixed $schemaName]) inherited from Phalcon\Db\Adapter
Получает параметры создания таблицы
public createSavepoint (mixed $name) inherited from Phalcon\Db\Adapter
Создаёт новую точку сохранения
public releaseSavepoint (mixed $name) inherited from Phalcon\Db\Adapter
Освобождает заданную точку сохранения
public rollbackSavepoint (mixed $name) inherited from Phalcon\Db\Adapter
Откатывает заданную точку сохранения
public setNestedTransactionsWithSavepoints (mixed $nestedTransactionsWithSavepoints) inherited from Phalcon\Db\Adapter
Устанавливает, должны ли вложенные транзакции использовать точки сохранения
public isNestedTransactionsWithSavepoints () inherited from Phalcon\Db\Adapter
Возвращает, должны ли вложенные транзакции использовать точки сохранения
public getNestedTransactionSavepointName () inherited from Phalcon\Db\Adapter
Возвращает имя точки сохранения для использования вложенных транзакций
public getDefaultIdValue () inherited from Phalcon\Db\Adapter
Возвращает значение по умолчанию для столбца идентификатора
public getDefaultValue () inherited from Phalcon\Db\Adapter
Возвращает значение по умолчанию, чтобы RDBMS использовал значение по умолчанию, объявленное в определении таблицы
public supportSequences () inherited from Phalcon\Db\Adapter
Проверка, требует ли система базы данных последовательность для создания значений автоинкремента
public useExplicitIdValue () inherited from Phalcon\Db\Adapter
Проверка, требует ли система базы данных явное значение для столбцов идентификатора
public getDescriptor () inherited from Phalcon\Db\Adapter
Возвращает дескриптор, используемый для подключения к активной базе данных
public string getConnectionId () inherited from Phalcon\Db\Adapter
Получение уникального идентификатора активного подключения
public getSQLStatement () inherited from Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте
public getRealSQLStatement () inherited from Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте без подстановки связанных параметров
public array getSQLBindTypes () inherited from Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте
абстрактный public describeColumns (mixed $table, [mixed $schema]) унаследован от Phalcon\Db\AdapterInterface
...
© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/api/Phalcon_Db_Adapter_Pdo.html