Метка: pdo

  • Php. PDO. Как получить id вставленной записи?

    Необходимость получения id только что вставленной записи — постоянная задача. Сейчас покажу, как работая с PDO b php получить это значение после INSERT-a. Все, как мы знаем очень просто: Рассмотрим пример: $query = $db->prepare(«INSERT INTO ……»); $query->execute(); $id = $db->lastInsertId(); Здесь все типично — подготавливаем запрос, выполняем его и средствами PDO получаем послений вставленный ID.…

  • PDO. Как вернуть данные в формате ключ-значение (key-value)?

    Работа с данными в формате ключ-значение — другими словами с ассоциативными массивами очень удобна. Сейчас приведу просто пример как заставить PDO вернуть записи БД сразу в формате ключ-значение. Это полезно, когда Вам нужно получить, например id и название записи. При этом формат по умолчанию, мягко говоря не удобен при необходимости обращения по id. Сравните два…

  • Php. PDO. Как вернуть парный проиндексированный результат?

    PDO кроет множество полезных и интересных особенностей, способных существенно облегчить жизнь во множестве типичных задач. Например, есть возможность вернуть парный, проиндексированный результат выборки. К примеру, мы имеем следующие данные: +————-+——+ | date | price| +————-+——+ | 2014-02-19 | 34 | | 2014-02-20 | 30 | | 2014-02-21 | 28 | +————-+——+ Для того, чтобы получить…

  • Php. PDO. Как узнать доступные драйверы?

    При работе с PDO иногда возникает необходимость узнать, какие именно драйверы доступны на сервере. Сегодня я покажу 2 способа, ка узнать, какие PDO-драйверы доступны на Вашем сервере. Первый способ — вызвать стандартный phpinfo() и найти в его выводе следующий блок: В секции PDO находится именно перечисление необходимой нам информации. Если Вы по каким-то причинам не…

  • Php. PDO. Как узнать количество обновленных записей?

    При работе с PDO часто возникает необходимость узнать, сколько же записей было затронуто при выполнении последнего запроса. Получить эту информацию можно при помощи метода rowCount(). Рассмотрим простейший пример: $pdo = new PDO($dsn, $username, $password); $query = «UPDATE some_tables SET updated = NOW() WHERE id = ?»; $res = $pdo->prepare($query); $res->execute( array( $id ) ); echo…

  • Php. PDO. Как показать ошибки запросов?

    При работе с PDO на php по умолчанию выключен вывод ошибок запросов, поэтому запросы, которые не выполнились просто скрываются от наших глаз, что не есть хорошо. Чтобы исправить это поведение следует после подключения PDO указать параметр PDO::ATTR_ERRMODE, который должен быть равен PDO::ERRMODE_EXCEPTION. Например вот так: $pdo = new PDO(‘mysql:host=localhost;dbname=somedatabase;charset=utf8’, ‘user’, ‘pass’); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  • Php. PDO. Как просмотреть запрос?

    После недель работы в фреймворке очень странно писать код на чистом php. Даже не странно — а как-то непривычно. Только что разбирал код на чистом php и PDO и обнаружил невозможность примитивного вывода текста запроса с учетом подстановки всех параметров. Итак, как оказалось вывести запрос без учета параметров можно следующей командой: $pdo->queryString Но это не…