Spec-Zone.ru › Phalcon 3

Класс Phalcon\Db\Adapter\Pdo\Mysql

расширяет абстрактный класс Phalcon\Db\Adapter\Pdo

реализует Phalcon\Db\AdapterInterface, Phalcon\Events\EventsAwareInterface

Исходный код на GitHub

Специальные функции для системы управления базами данных 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API