- Главная
- Информатика
- Определение PDO
Содержание
- 2. Подключение через интерфейс PDO Подключение довольно простое, за тем исключением, что теперь одной строкой необходимо сразу
- 3. Подготовленные выражения Подготовленные выражения очень похожи на обычные SQL запросы, но имеют некоторые преимущества. Во-первых имеют
- 4. Примеры 1ый вариант: 2ой вариант:
- 5. Примеры Второй вариант можно записать еще проще, связав псевдопеременную с реальной: Тут же необходимо добавить, что
- 6. Транзакции Транзакция – это совокупность запросов базу данных, которые должны быть обязательно выполнены все. Если какой-либо
- 7. Проблема при разработке ПО Многие разработчики очень сильно усложняют код и потом его дорого обслуживать и
- 8. Что такое архитектура программы Архитектура - это базовая организация системы, воплощенная в ее компонентах, их отношениях
- 9. Что такое хороший код Решающий поставленную задачу Делающий это наиболее очевидным образом Экономящий ресурсы Расширяемый Аккуратный
- 10. Модель MVC
- 11. Модель MVC
- 13. Скачать презентацию
Слайд 2Подключение через интерфейс PDO
Подключение довольно простое, за тем исключением, что теперь одной
Подключение через интерфейс PDO
Подключение довольно простое, за тем исключением, что теперь одной
Формат вот такой: тип_базы_данных:host=имя_хоста;db=name
Если же в SQL выражении вы допустили ошибку, в PDO есть специальные функции:
errorCode() – возвращает номер ошибки, и
errorInfo() – возвращает массив, в котором, как номер ошибки, так и текст описания
Запросы непосредственно можно делать двумя функциями: exec() и query()
Отличие их состоит в типе возвращаемого результата, exec возвращает количество затронутых в результате выполнения запроса строк, а вторая, возвращает результат запроса в объекте PDOStatement, о нем поговорим чуть ниже. См. пример-1
Слайд 3Подготовленные выражения
Подготовленные выражения очень похожи на обычные SQL запросы, но имеют некоторые
Подготовленные выражения
Подготовленные выражения очень похожи на обычные SQL запросы, но имеют некоторые
Они имеют весомое преимущество в скорости, при выполнении многократных одинаковых запросов, чем если каждый раз составлять запрос заново. Также экономится траффик между приложением и базой данных.
PDO предоставляет удобные функции для работы с подготовленными выражениями. В случае, если выбранный тип базы данных не поддерживает работу с подготовленными выражениями, PDO просто будет эмулировать их работу своими методами.
И так для начала создадим подготовленное выражение, это делается функцией Prepare()
В качестве параметра она принимает SQL запрос, но в нем, вместо значений, которые необходимо менять, ставятся псевдо переменные, которые могут быть в виде знака вопроса(?), либо имени псевдо переменой, которое начинается с двоеточия (:)
$sth1 = $db->prepare(“SELECT * FROM `testing` WHERE id=:id”);
$sth2 = $db->prepare(“SELECT * FROM `testing` WHERE id=?”);
В зависимости от того, как вы определите переменную, будет зависеть ваша дальнейшая работа.
Если вы определили переменные знаком вопроса, то потом, в функцию execute передайте массив значений, в той, последовательности, в которой стоят переменные.
Если же вы обозначили переменные именами, то надо будет назначить каждой переменной значение посредством функций:
bindValue() – присваивает псевдопеременной значение
bindParam() – связывает псевдопеременную с настоящей переменной, и при изменении настоящей переменной, не нужно больше вызывать никаких дополнительных функций, можно сразу execute()
Слайд 4Примеры
1ый вариант:
2ой вариант:
Примеры
1ый вариант:
2ой вариант:
Слайд 5Примеры
Второй вариант можно записать еще проще, связав псевдопеременную с реальной:
Тут же необходимо
Примеры
Второй вариант можно записать еще проще, связав псевдопеременную с реальной:
Тут же необходимо
$sth3->bindParam(‘:id’,$id, PDO::PARAM_INT);
$sth3->bindParam(‘:id’,$id, PDO::PARAM_STR);
Еще одним из очень приятных плюсов использования таких подготовленных выражений, это экранирование переменных. Перед подстановкой в процедуру все переменные экранируются и никакие SQL инъекции не страшны.
Слайд 6Транзакции
Транзакция – это совокупность запросов базу данных, которые должны быть обязательно выполнены
Транзакции
Транзакция – это совокупность запросов базу данных, которые должны быть обязательно выполнены
Это нужно, чтобы гарантировать сохранение целостности данных при нескольких запросах. например при переводе денежных средств со счета на счет.
Чтобы выполнить транзакцию в PDO необходимо перейти в режим ручного подтверждения запросов.
Чтобы выключить режим автоподтверждения, выполняем команду:
$db->beginTransaction();
После этого выполняем столько запросов к базе данных сколько необходимо сделать в этой транзакции. И только после того как все запросы будут выполнены, Вы можете подтвердить транзакцию функцией $db->commit();
или отменить транзакцию $db->rollback(); Тут еще следует заметить, что не все типы таблиц поддерживают транзакции, требуется ипользовать таблицу InnoDb вместо стандартной MyISAM. см. Пример-2
Слайд 7Проблема при разработке ПО
Многие разработчики очень сильно усложняют код и потом его
Проблема при разработке ПО
Многие разработчики очень сильно усложняют код и потом его
Слайд 8Что такое архитектура программы
Архитектура - это базовая организация системы, воплощенная в ее
Что такое архитектура программы
Архитектура - это базовая организация системы, воплощенная в ее
Другими словами
Компоненты кода («на какие части разбить»)
Структура кода («где, что будет лежать»)
Отношения между компонентами
Слайд 9Что такое хороший код
Решающий поставленную задачу
Делающий это наиболее очевидным образом
Экономящий ресурсы
Расширяемый
Аккуратный
Что такое хороший код
Решающий поставленную задачу
Делающий это наиболее очевидным образом
Экономящий ресурсы
Расширяемый
Аккуратный
Слайд 10Модель MVC
Модель MVC
Слайд 11Модель MVC
Модель MVC