Phalcon\Db\Adapter\Pdo\Mysql
Класс Phalcon\Db\Adapter\Pdo\Mysql
расширяет абстрактный класс Phalcon\Db\Adapter\Pdo
Реализует Phalcon\Db\AdapterInterface, Phalcon\Events\EventsAwareInterface
Специфические функции для системы баз данных MySQL
<?php 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, описывающих таблицу
<?php print_r( $connection->describeColumns("posts") );
public Phalcon\Db\IndexInterface describeIndexes (string $table, [string $schema])
Списки табличных индексов
<?php print_r( $connection->describeIndexes("robots_parts") );
public describeReferences (mixed $table, [mixed $schema])
Списки табличных ссылок
<?php 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. Вызовите его, когда необходимо восстановить подключение к базе данных.
<?php 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'
<?php 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
Выполняет подготовленную привязку оператора. Эта функция использует целочисленные индексы, начиная с нуля
<?php 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, отправленный на сервер, возвращает строки
<?php // Запрос данных $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, отправленный на сервер, не возвращает никаких строк
<?php // Вставка данных $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, выполненным в системе базы данных
<?php $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-инъекций в соответствии с активной кодировкой в соединении
<?php $escapedStr = $connection->escapeString("some dangerous value");
public convertBoundParams (mixed $sql, [array $params]) унаследовано от Phalcon\Db\Adapter\Pdo
Преобразует связанные параметры, такие как: name: or ?1 в PDO связанные параметры ?
<?php print_r( $connection->convertBoundParams( "SELECT * FROM robots WHERE name = :name:", [ "Bender", ] ) );
public int | boolean lastInsertId ([string $sequenceName]) унаследовано от Phalcon\Db\Adapter\Pdo
Возвращает insert id для столбца auto_increment/serial, вставленного в последнюю выполненную инструкцию SQL
<?php // Вставка нового робота $success = $connection->insert( "robots", [ "Astro Boy", 1952, ], [ "name", "year", ] ); // Получение сгенерированного 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
Проверяет, находится ли соединение под транзакцией
<?php $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
<?php // Получение первого робота $robot = $connection->fetchOne("SELECT * FROM robots"); print_r($robot); // Получение первого робота только с ассоциативными индексами $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
Выводит полный результат запроса в массив
<?php // Получение всех роботов только с ассоциативными индексами $robots = $connection->fetchAll( "SELECT * FROM robots", \Phalcon\Db::FETCH_ASSOC ); foreach ($robots as $robot) { print_r($robot); } // Получение всех роботов, содержащих слово "robot" с именем $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-запроса
<?php // Получение количества роботов $robotsCount = $connection->fetchColumn("SELECT count(*) FROM robots"); print_r($robotsCount); // Получение имени последнего отредактированного робота $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 СУБД
<?php // Вставка нового робота $success = $connection->insert( "robots", ["Astro Boy", 1952], ["name", "year"] ); // Следующее предложение SQL отправляется в систему баз данных // INSERT INTO `robots` (`name`, `year`) VALUES ("Astro boy", 1952);
public boolean insertAsDict (string $table, array $data, [array $dataTypes]) унаследовано от Phalcon\Db\Adapter
Вставляет данные в таблицу, используя пользовательские RBDM синтаксис SQL
<?php // Вставка нового робота $success = $connection->insertAsDict( "robots", [ "name" => "Astro Boy", "year" => 1952, ] ); // Следующее предложение SQL отправляется в систему баз данных // 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
<?php // Обновление существующего робота $success = $connection->update( "robots", ["name"], ["New Astro Boy"], "id = 101" ); // Следующее предложение SQL отправляется в систему баз данных // UPDATE `robots` SET `name` = "Astro boy" WHERE id = 101 // Обновление существующего робота с условием массива и $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 другой, более удобный синтаксис
<?php // Обновление существующего робота $success = $connection->updateAsDict( "robots", [ "name" => "New Astro Boy", ], "id = 101" ); // Следующее предложение SQL отправляется в систему баз данных // 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
<?php // Удаление существующего робота $success = $connection->delete( "robots", "id = 101" ); // Следующее предложение SQL генерируется // DELETE FROM `robots` WHERE `id` = 101
public escapeIdentifier (array | string $identifier) унаследовано от Phalcon\Db\Adapter
Экранирует имя столбца / таблицы / схемы
<?php $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
Добавляет предложение LIMIT к аргументу $sqlQuery
<?php echo $connection->limit("SELECT * FROM robots", 5);
public tableExists (mixed $tableName, [mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Генерирует проверку SQL на существование schema.table
<?php var_dump( $connection->tableExists("blog", "posts") );
public viewExists (mixed $viewName, [mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Генерирует проверку SQL на существование schema.view
<?php var_dump( $connection->viewExists("active_users", "posts") );
public forUpdate (mixed $sqlQuery) унаследовано от Phalcon\Db\Adapter
Возвращает SQL, измененный предложением FOR UPDATE
public sharedLock (mixed $sqlQuery) унаследовано от Phalcon\Db\Adapter
Возвращает SQL, измененный с помощью предложения LOCK IN SHARE MODE
public createTable (mixed $tableName, mixed $schemaName, array $definition) унаследовано от Phalcon\Db\Adapter
Создать таблицу
public dropTable (mixed $tableName, [mixed $schemaName], [mixed $ifExists]) унаследовано от Phalcon\Db\Adapter
Отбрасывает таблицу из schema/database
public createView (mixed $viewName, array $definition, [mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Создает представление
public dropView (mixed $viewName, [mixed $schemaName], [mixed $ifExists]) унаследовано от Phalcon\Db\Adapter
Отбрасывает представление
public addColumn (mixed $tableName, mixed $schemaName, Phalcon\Db\ColumnInterface $column) унаследовано от Phalcon\Db\Adapter
Добавление столбца в таблицу
public modifyColumn (mixed $tableName, mixed $schemaName, Phalcon\Db\ColumnInterface $column, [Phalcon\Db\ColumnInterface $currentColumn]) унаследовано от Phalcon\Db\Adapter
Изменяет столбец таблицы на основе определения
public dropColumn (mixed $tableName, mixed $schemaName, mixed $columnName) унаследовано от Phalcon\Db\Adapter
Удаление столбца из таблицы
public addIndex (mixed $tableName, mixed $schemaName, Phalcon\Db\IndexInterface $index) унаследовано от Phalcon\Db\Adapter
Добавление индекса в таблицу
public dropIndex (mixed $tableName, mixed $schemaName, mixed $indexName) унаследовано от Phalcon\Db\Adapter
Удаление индекса из таблицы
public addPrimaryKey (mixed $tableName, mixed $schemaName, Phalcon\Db\IndexInterface $index) унаследовано от Phalcon\Db\Adapter
Добавление первичного ключа в таблицу
public dropPrimaryKey (mixed $tableName, mixed $schemaName) унаследовано от Phalcon\Db\Adapter
Отбрасывает первичный ключ таблицы
public addForeignKey (mixed $tableName, mixed $schemaName, Phalcon\Db\ReferenceInterface $reference) унаследовано от Phalcon\Db\Adapter
Добавление внешнего ключа в таблицу
public dropForeignKey (mixed $tableName, mixed $schemaName, mixed $referenceName) унаследовано от Phalcon\Db\Adapter
Удаление внешнего ключа из таблицы
public getColumnDefinition (Phalcon\Db\ColumnInterface $column) унаследовано от Phalcon\Db\Adapter
Возвращает определение столбца SQL из столбца
public listTables ([mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Список всех таблиц в базе данных
<?php print_r( $connection->listTables("blog") );
public listViews ([mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Список всех представлений базы данных
<?php print_r( $connection->listViews("blog") );
public tableOptions (mixed $tableName, [mixed $schemaName]) унаследовано от Phalcon\Db\Adapter
Получает параметры создания из таблицы
<?php print_r( $connection->tableOptions("robots") );
public createSavepoint (mixed $name) унаследовано от Phalcon\Db\Adapter
Создает новую точку сохранения
public releaseSavepoint (mixed $name) унаследовано от Phalcon\Db\Adapter
Релизы с учетом точки сохранения
public rollbackSavepoint (mixed $name) унаследовано от Phalcon\Db\Adapter
Откаты с учетом точки сохранения
public setNestedTransactionsWithSavepoints (mixed $nestedTransactionsWithSavepoints) унаследовано от Phalcon\Db\Adapter
Установить, должны ли вложенные транзакции использовать точки сохранения
public isNestedTransactionsWithSavepoints () унаследовано от Phalcon\Db\Adapter
Возвращает, если вложенные транзакции должны использовать точки сохранения
public getNestedTransactionSavepointName () унаследовано от Phalcon\Db\Adapter
Возвращает имя точки сохранения для вложенных транзакций
public getDefaultIdValue () унаследовано от Phalcon\Db\Adapter
Возвращает значение идентификатора по умолчанию для вставки в столбец идентификаторов
<?php // Вставка нового робота с допустимым значением по умолчанию для столбца "id" $success = $connection->insert( "robots", [ $connection->getDefaultIdValue(), "Astro Boy", 1952, ], [ "id", "name", "year", ] );
public getDefaultValue () унаследовано от Phalcon\Db\Adapter
Возвращает значение по умолчанию, чтобы RBDM использовал значение по умолчанию, объявленное в определении таблицы
<?php // Вставка нового робота с допустимым значением по умолчанию для столбца '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 в объекте