HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Перед тем, как погружаться в различные элементы PDO, мы сначала рассмотрим общий принцип работы, который будет одинаков для любых запросов. Эти принципы включают такие пункты:</p>
1 <p>Перед тем, как погружаться в различные элементы PDO, мы сначала рассмотрим общий принцип работы, который будет одинаков для любых запросов. Эти принципы включают такие пункты:</p>
2 <ul><li>Установка зависимостей</li>
2 <ul><li>Установка зависимостей</li>
3 <li>Подключение к базе данных</li>
3 <li>Подключение к базе данных</li>
4 <li>Подготовка запроса</li>
4 <li>Подготовка запроса</li>
5 <li>Выполнение запроса</li>
5 <li>Выполнение запроса</li>
6 <li>Формирование результата</li>
6 <li>Формирование результата</li>
7 </ul><p>В этом курсе мы будем работать с базой данных SQLite. Она полноценно работает с SQL, но у нее есть одно отличие - у нее нет сервера. Данные она хранит в обычных файлах на диске или вообще в памяти. Это удобно для обучения и тестирования. При необходимости вы с легкостью можете заменить ее на любую полнофункциональную базу.</p>
7 </ul><p>В этом курсе мы будем работать с базой данных SQLite. Она полноценно работает с SQL, но у нее есть одно отличие - у нее нет сервера. Данные она хранит в обычных файлах на диске или вообще в памяти. Это удобно для обучения и тестирования. При необходимости вы с легкостью можете заменить ее на любую полнофункциональную базу.</p>
8 <p>PDO представляет собой интерфейс взаимодействия с базами данных в PHP и сам по себе не позволяет манипулировать доступом к базе. Чтобы воспользоваться возможностями PDO, необходимо использовать соответствующий конкретной базе данных PDO драйвер. Драйвер реализует этот интерфейс и предоставляет специфичный для базы данных функционал</p>
8 <p>PDO представляет собой интерфейс взаимодействия с базами данных в PHP и сам по себе не позволяет манипулировать доступом к базе. Чтобы воспользоваться возможностями PDO, необходимо использовать соответствующий конкретной базе данных PDO драйвер. Драйвер реализует этот интерфейс и предоставляет специфичный для базы данных функционал</p>
9 <p>Чтобы начать работать, вам потребуется установить PDO и драйвер SQLlite. Сделать это можно по нашей<a>инструкции</a>. Чтобы подключится к другой базе данных, нужно будет по аналогии установить соответствующий драйвер</p>
9 <p>Чтобы начать работать, вам потребуется установить PDO и драйвер SQLlite. Сделать это можно по нашей<a>инструкции</a>. Чтобы подключится к другой базе данных, нужно будет по аналогии установить соответствующий драйвер</p>
10 <p>Далее в уроке мы рассмотрим основной принцип работы с PDO на примере работы с таблицей пользователя. Для начала создадим таблицу в коде, заполним ее и выведем ее данные в консоль:</p>
10 <p>Далее в уроке мы рассмотрим основной принцип работы с PDO на примере работы с таблицей пользователя. Для начала создадим таблицу в коде, заполним ее и выведем ее данные в консоль:</p>
11 <h2>Соединение с базой данных</h2>
11 <h2>Соединение с базой данных</h2>
12 <p>Обычно программисты делают так: рядом со своим приложением они поднимают СУБД, внутри которой они заранее создали необходимую базу данных. Таким образом, приложение соединяется с СУБД и подключается к конкретной базе данных внутри. Для этого нужны<strong>параметры подключения</strong>:</p>
12 <p>Обычно программисты делают так: рядом со своим приложением они поднимают СУБД, внутри которой они заранее создали необходимую базу данных. Таким образом, приложение соединяется с СУБД и подключается к конкретной базе данных внутри. Для этого нужны<strong>параметры подключения</strong>:</p>
13 <ul><li>IP-адрес или DNS-адрес</li>
13 <ul><li>IP-адрес или DNS-адрес</li>
14 <li>Порт для подключения</li>
14 <li>Порт для подключения</li>
15 <li>Логин и пароль</li>
15 <li>Логин и пароль</li>
16 <li>Имя базы данных</li>
16 <li>Имя базы данных</li>
17 </ul><p>В нашем примере все проще. База SQLite запускается прямо в памяти нашего приложения, поэтому ей не нужны доступы. Эту базу не нужно создавать заранее, она создается в момент выполнения соединения:</p>
17 </ul><p>В нашем примере все проще. База SQLite запускается прямо в памяти нашего приложения, поэтому ей не нужны доступы. Эту базу не нужно создавать заранее, она создается в момент выполнения соединения:</p>
18 <p>Дальше мы можем работать с базой SQLite с помощью SQL.</p>
18 <p>Дальше мы можем работать с базой SQLite с помощью SQL.</p>
19 <p>Здесь все как с обычной реляционной базой данных. Но важно помнить, что эта база существует, только когда приложение запущено. Если мы остановим или перезапустим приложение, это приведет к потере данных. Это нормально для учебных и тестовых задач, но не подходит для реальных приложений, поэтому в них база в памяти не используется.</p>
19 <p>Здесь все как с обычной реляционной базой данных. Но важно помнить, что эта база существует, только когда приложение запущено. Если мы остановим или перезапустим приложение, это приведет к потере данных. Это нормально для учебных и тестовых задач, но не подходит для реальных приложений, поэтому в них база в памяти не используется.</p>
20 <h2>Выполнение запросов</h2>
20 <h2>Выполнение запросов</h2>
21 <p>В примере выше мы выполняем все базовые операции по работе с сущностью - создание таблицы, вставка в нее данных и выборка. Запросы на создание таблиц и на вставку данных выполняются при помощи метода exec(). Этот метод выполняет SQL-запрос, который не возвращает никаких данных. Запрос на выборку выполняется при помощи метода query()</p>
21 <p>В примере выше мы выполняем все базовые операции по работе с сущностью - создание таблицы, вставка в нее данных и выборка. Запросы на создание таблиц и на вставку данных выполняются при помощи метода exec(). Этот метод выполняет SQL-запрос, который не возвращает никаких данных. Запрос на выборку выполняется при помощи метода query()</p>
22 <h2>Результат выполнения запросов</h2>
22 <h2>Результат выполнения запросов</h2>
23 <p>Метод query() возвращает объект класса PDOStatement, который представляет собой подготовленный запрос к базе данных, а после выполнения запроса соответствующий набор результатов</p>
23 <p>Метод query() возвращает объект класса PDOStatement, который представляет собой подготовленный запрос к базе данных, а после выполнения запроса соответствующий набор результатов</p>
24 <p>При помощи метода fetchAll(), который выбирает оставшиеся строки из набора результатов, мы получаем данные в виде ассоциативного массива. В этом массиве ключи - названия столбцов таблицы, а значения - данные из этих столбцов.</p>
24 <p>При помощи метода fetchAll(), который выбирает оставшиеся строки из набора результатов, мы получаем данные в виде ассоциативного массива. В этом массиве ключи - названия столбцов таблицы, а значения - данные из этих столбцов.</p>
25  
25