Класс Phalcon\Db\Adapter\Pdo\Mysql
расширяет абстрактный класс Phalcon\Db\Adapter\Pdo
реализует Phalcon\Db\AdapterInterface, Phalcon\Events\EventsAwareInterface
Специальные функции для системы управления базами данных MySQL
use Phalcon\Db\Adapter\Pdo\Mysql;
$config = [
"host" => "localhost",
"dbname" => "blog",
"port" => 3306,
"username" => "sigma",
"password" => "secret",
];
$connection = new Mysql($config);
Методы
public describeColumns (mixed $table, [mixed $schema])
Возвращает массив объектов Phalcon\Db\Column, описывающих таблицу
print_r(
$connection->describeColumns("posts")
);
public Phalcon\Db\IndexInterface[] describeIndexes (string $table, [string $schema])
Список индексов таблицы
print_r(
$connection->describeIndexes("robots_parts")
);
public describeReferences (mixed $table, [mixed $schema])
Список ссылок таблицы
print_r(
$connection->describeReferences("robots_parts")
);
public __construct (array $descriptor) унаследованно от Phalcon\Db\Adapter\Pdo
Конструктор для Phalcon\Db\Adapter\Pdo
public connect ([array $descriptor]) унаследованно от Phalcon\Db\Adapter\Pdo
Этот метод автоматически вызывается в конструкторе \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) унаследованно от Phalcon\Db\Adapter\Pdo
Возвращает подготовленное выражение 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) унаследованно от Phalcon\Db\Adapter\Pdo
Выполняет подготовленное выражение с привязкой. Эта функция использует целочисленные индексы, начиная с нуля
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]) унаследованно от Phalcon\Db\Adapter\Pdo
Отправляет 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]) унаследованно от Phalcon\Db\Adapter\Pdo
Отправляет 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 () унаследованно от Phalcon\Db\Adapter\Pdo
Возвращает количество затронутых строк последним выполненным в системе управления базами данных запросом INSERT/UPDATE/DELETE
$connection->execute(
"DELETE FROM robots"
);
echo $connection->affectedRows(), " were deleted";
public close () унаследованно от Phalcon\Db\Adapter\Pdo
Закрывает активное соединение, возвращая состояние успеха. Phalcon автоматически закрывает и уничтожает активные соединения по окончании запроса
public escapeString (mixed $str) унаследованно от Phalcon\Db\Adapter\Pdo
Экранирует значение для предотвращения SQL-инъекций в соответствии с активной кодировкой символов в соединении
$escapedStr = $connection->escapeString("some dangerous value");
public convertBoundParams (mixed $sql, [array $params]) унаследованно от Phalcon\Db\Adapter\Pdo
Преобразует привязанные параметры, такие как :name: или ?1, в параметры привязки PDO ?
print_r(
$connection->convertBoundParams(
"SELECT * FROM robots WHERE name = :name:",
[
"Bender",
]
)
);
public int | boolean lastInsertId ([string $sequenceName]) унаследованно от Phalcon\Db\Adapter\Pdo
Возвращает идентификатор вставленной строки для столбца 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]) унаследованно от Phalcon\Db\Adapter\Pdo
Начинает транзакцию в соединении
public rollback ([mixed $nesting]) унаследованно от Phalcon\Db\Adapter\Pdo
Отменяет активную транзакцию в соединении
public commit ([mixed $nesting]) унаследованно от Phalcon\Db\Adapter\Pdo
Подтверждает активную транзакцию в соединении
public getTransactionLevel () унаследованно от Phalcon\Db\Adapter\Pdo
Возвращает текущий уровень вложенности транзакций
public isUnderTransaction () унаследованно от Phalcon\Db\Adapter\Pdo
Проверяет, находится ли соединение в транзакции
$connection->begin();
// true
var_dump(
$connection->isUnderTransaction()
);
public getInternalHandler () унаследованно от Phalcon\Db\Adapter\Pdo
Возвращает внутренний обработчик PDO
public array getErrorInfo () унаследованно от Phalcon\Db\Adapter\Pdo
Возвращает информацию об ошибке, если таковая имеется
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
Вставляет данные в таблицу, используя пользовательский синтаксис 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
Вставляет данные в таблицу, используя пользовательский синтаксис 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]) inherited from Phalcon\Db\Adapter
Обновляет данные в таблице, используя пользовательский синтаксис SQL RBDM
// 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]) inherited from Phalcon\Db\Adapter
Обновляет данные в таблице, используя пользовательский синтаксис SQL RBDM. Другой, более удобный синтаксис.
// 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]) inherited from 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 escapeIdentifier (array | string $identifier) inherited from Phalcon\Db\Adapter
Экранирует имя столбца/таблицы/схемы
$escapedTable = $connection->escapeIdentifier(
"robots"
);
$escapedTable = $connection->escapeIdentifier(
[
"store",
"robots",
]
);
public string getColumnList (array $columnList) inherited from Phalcon\Db\Adapter
Получает список столбцов
public limit (mixed $sqlQuery, mixed $number) inherited from Phalcon\Db\Adapter
Добавляет в $sqlQuery аргумент условие LIMIT
echo $connection->limit("SELECT * FROM robots", 5);
public tableExists (mixed $tableName, [mixed $schemaName]) inherited from Phalcon\Db\Adapter
Генерирует SQL-запрос для проверки существования схемы.таблицы
var_dump(
$connection->tableExists("blog", "posts")
);
public viewExists (mixed $viewName, [mixed $schemaName]) inherited from 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
Список всех таблиц в базе данных
print_r(
$connection->listTables("blog")
);
public listViews ([mixed $schemaName]) inherited from Phalcon\Db\Adapter
Список всех представлений в базе данных
print_r(
$connection->listViews("blog")
);
public tableOptions (mixed $tableName, [mixed $schemaName]) inherited from Phalcon\Db\Adapter
Получает параметры создания таблицы
print_r(
$connection->tableOptions("robots")
);
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
Возвращает значение по умолчанию для вставки в столбец с идентификатором
// Inserting a new robot with a valid default value for the column 'id'
$success = $connection->insert(
"robots",
[
$connection->getDefaultIdValue(),
"Astro Boy",
1952,
],
[
"id",
"name",
"year",
]
);
public getDefaultValue () inherited from Phalcon\Db\Adapter
Возвращает значение по умолчанию, чтобы RBDM использовал значение по умолчанию, объявленное в определении таблицы
// Inserting a new robot with a valid default value for the column 'year'
$success = $connection->insert(
"robots",
[
"Astro Boy",
$connection->getDefaultValue()
],
[
"name",
"year",
]
);
public supportSequences () унаследованно от Phalcon\Db\Adapter
Проверяет, требует ли система баз данных последовательность для генерации автоинкрементных значений
public useExplicitIdValue () унаследованно от Phalcon\Db\Adapter
Проверяет, требует ли система баз данных явное значение для столбцов с идентификаторами
public getDescriptor () унаследованно от Phalcon\Db\Adapter
Возвращает дескриптор, используемый для подключения к активной базе данных
public string getConnectionId () унаследованно от Phalcon\Db\Adapter
Получает уникальный идентификатор активного подключения
public getSQLStatement () унаследованно от Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте
public getRealSQLStatement () унаследованно от Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте без замены связанных параметров
public array getSQLBindTypes () унаследованно от Phalcon\Db\Adapter
Актуальное SQL-утверждение в объекте
© 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_Mysql.html