- Работа с MySQL в PHP
- Что такое mysqli?
- Как выглядит работа с базой данных
- Функция mysqli connect: соединение с MySQL
- Проверка соединения
- Установка кодировки
- Выполнение запросов
- Два вида запросов
- Добавление записи
- Функция insert id: как получить идентификатор добавленной записи
- Чтение записей
- Как получить сразу все записи в виде двумерного массива
- Как узнать количество записей
- Язык PHP и работа с базой данных MySQL
- Frontend и Backend
- Основы backend-разработки — PHP/MySQL
- Любой язык прост, если научиться его понимать!
- Основы безопасности сайта
- Перейдем к базам данных MySQL/MariaDB
- Секрет неуклонного движения вперед в том, чтобы сделать первый шаг. Секрет первого шага в том, чтобы разбить сложные задачи на простые и начать с самой первой.
- Марк Твен
Работа с MySQL в PHP
PHP поддерживает работу с базой данных MySQL. Специальные встроенные функции для работы с MySQL позволяют просто и эффективно работать с этой СУБД: выполнять любые запросы, читать и записывать данные, обрабатывать ошибки.
Сценарий, который подключается к БД, выполняет запрос и показывает результат, будет состоять всего из нескольких строк. Для работы с MySQL не надо ничего дополнительно устанавливать и настраивать; всё необходимое уже доступно вместе со стандартной поставкой PHP.
Что такое mysqli?
mysqli (MySQL Improved) — это расширение PHP, которое добавляет в язык полную поддержку баз данных MySQL. Это расширение поддерживает множество возможностей современных версий MySQL.
Как выглядит работа с базой данных
Типичный процесс работы с СУБД в PHP-сценарии состоит из нескольких шагов:
- Установить подключение к серверу СУБД, передав необходимые параметры: адрес, логин, пароль.
- Убедиться, что подключение прошло успешно: сервер СУБД доступен, логин и пароль верные и так далее.
- Сформировать правильный SQL запрос (например, на чтение данных из таблицы).
- Убедиться, что запрос был выполнен успешно.
- Получить результат от СУБД в виде массива из записей.
- Использовать полученные записи в своём сценарии (например, показать их в виде таблицы).
Функция mysqli connect: соединение с MySQL
Перед началом работы с данными внутри MySQL, нужно открыть соединение с сервером СУБД. В PHP это делается с помощью стандартной функции mysqli_connect() . Функция возвращает результат — ресурс соединения. Данный ресурс используется для всех следующих операций с MySQL.
Но чтобы выполнить соединение с сервером, необходимо знать как минимум три параметра:
Если вы следовали стандартной процедуре установки MySQL или используете OpenServer, то адресом сервера будет localhost , логином — root . При использовании OpenServer пароль для подключения — это пустая строка ‘’ , а при самостоятельной установке MySQL пароль вы задавали в одном из шагов мастера установки.
Базовый синтаксис функции mysqli_connect() :
Проверка соединения
Первое, что нужно сделать после соединения с СУБД — это выполнить проверку, что оно было успешным. Эта проверка нужна, чтобы исключить ошибку при подключении к БД. Неверные параметры подключения, неправильная настройка или высокая нагрузка заставит MySQL отвергать новые подключения. Все эти ситуации приведут к невозможности соединения, поэтому программист должен проверить успешность подключения к серверу, прежде чем выполнять следующие действия.
Соединение с MySQL устанавливается один раз в сценарии, а затем используется при всех запросах к БД.
Результатом выполнения функции mysqli_connect() будет значение специального типа — ресурс. Если подключение к MySQL не удалось, то функция mysqli_connect() вместо ресурса вернёт логическое значение типа «ложь» — false . Хорошей практикой будет всегда проверять результат выполнения этой функции и сравнивать его с ложью.
Соединение с MySQL и проверка на ошибки:
Функция mysqli_connect_error() просто возвращает текстовое описание последней ошибки MySQL.
Установка кодировки
Первым делом после установки соединения крайне желательно явно задать кодировку, которая будет использоваться при обмене данными с MySQL. Если этого не сделать, то вместо записей со значениями, написанными кириллицей, можно получить последовательность из знаков вопроса: . . Вызовите эту функцию сразу после успешной установки соединения: mysqli_set_charset($con, «utf8»);
Выполнение запросов
Установив соединение и определив кодировку мы готовы выполнить свои первые SQL-запросы. Вы уже умеете составлять корректные SQL команды и выполнять их через консольный или визуальный интерфейс MySQL-клиента. Те же самые запросы можно отправлять без изменений и из PHP-сценария. Помогут в этом несколько встроенных функций языка.
Два вида запросов
Следует разделять все SQL-запросы на две группы:
При выполнении запросов из среды PHP, запросы из второй группы возвращают только результат их исполнения: успех или ошибку.
Запросы первой группы при успешном выполнении возвращают специальный ресурс результата. Его, в свою очередь, можно преобразовать в ассоциативный массив (если нужна одна запись) или в двумерный массив (если требуется список записей).
Добавление записи
Вернёмся к нашему проекту — дневнику наблюдений за погодой. Начнём практическую работу с заполнения таблиц данными. Для начала добавим хотя бы один город в таблицу cities .
Выражение INSERT INTO используется для добавления новых записей в таблицу базы данных.
Составим корректный SQL-запрос на вставку записи с именем города, а затем выполним его путём передачи этого запроса в функцию mysqli_query() , чтобы добавить новые данные в таблицу.
Обратите внимание, что первым параметром для функции mysqli_query() передаётся ресурс подключения, полученный от функции mysqli_connect() , вторым параметром следует строка с SQL-запросом.
При запросах на изменение данных (не SELECT) результатом выполнения будет логическое значение — true или false , которое будет означать, что запрос выполнить не удалось. Для получения строки с описанием ошибки существует функция mysqli_error($link) .
Функция insert id: как получить идентификатор добавленной записи
Следующим шагом будет добавление погодной записи для нового города. Погодные записи хранит таблица weather_log, но, чтобы сослаться на город, необходимо знать идентификатор записи из таблицы cities.
Здесь пригодится функция mysqli_insert_id() . Она принимает единственный аргумент — ресурс соединения, а возвращает идентификатор последней добавленной записи.
Теперь у нас есть всё необходимое, чтобы добавить погодную запись. Вот как будет выглядеть комплексный пример с подключением к MySQL и добавлением двух новых записей:
Чтение записей
Другая частая операция при работе с базами данных в PHP — это получение записей из таблиц (запросы типа SELECT). Составим SQL-запрос, который будет использовать SELECT выражение. Затем выполним этот запрос с помощью функции mysqli_query() , чтобы получить данные из таблицы.
В этом примере показано, как вывести все существующие города из таблицы cities :
В примере выше результат выполнения функции mysqli_query() сохранён в переменной $result . В этой переменной находятся не данные из таблицы, а специальный тип данных — так называемая ссылка на результаты запроса.
Чтобы получить действительные данные, то есть записи из таблицы, следует использовать другую функцию — mysqli_fetch_array() — и передать ей единственным параметром эту самую ссылку. Теперь каждый вызов функции mysqli_fetch_array() будет возвращать следующую запись из всего результирующего набора записей в виде ассоциативного массива.
Цикл while здесь используется для «прохода» по всем записям из полученного набора записей. Значение поля каждой записи можно узнать просто обратившись по ключу этого ассоциативного массива.
Как получить сразу все записи в виде двумерного массива
Иногда бывает удобно после запроса на чтение не вызывать в цикле mysqli_fetch_array для извлечения очередной записи по порядку, а получить их сразу все одним вызовом. PHP так тоже умеет.
Функция mysqli_fetch_all($res, MYSQLI_ASSOC) вернёт двумерный массив со всеми записями из результата последнего запроса. Перепишем пример с показом существующих городов с её использованием:
Как узнать количество записей
Часто бывает необходимо узнать, сколько всего записей вернёт выполненный SQL-запрос. Это может помочь при организации постраничной навигации или просто в качестве информации. Узнать число записей поможет функция mysqli_num_rows() , которой следует передать ссылку на результат запроса.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Язык PHP и работа с базой данных MySQL
Однако этого недостаточно, чтобы создать даже самый простой сайт с формой регистрации. Для этого необходимы НАВЫКИ ВЕБ-ПРОГРАММИРОВАНИЯ. В эту часть увлекательного путешествия и направляемся.
Frontend и Backend
Программирование можно условно разделить на 2 части: Frontend и Backend.
Frontend разработка — это внешний вид сайта, результат этой работы видят пользователи на экране монитора.
Backend — это внутренняя часть сайта, результат этой работы вы видите через frontend разработку. Когда вы делаете любой запрос: в поиске, нажимаете активную ссылку, кнопку и т.д., то практически мгновенно получаете результат на экран.
Этот путь от вашего запроса до получения результата и есть невидимая сторона работы любого сайта: логика всех запросов, чтобы выдать требуемый результат.
Приведем аналогию с устным счетом: сложите 32 и 47. Ваш мыслительный процесс никто не видит, он внутри вас. Вы используете свою логику подсчета, так же и сайт использует для выполнения поставленной задачи логику backend разработки.
Основы backend-разработки — PHP/MySQL
PHP — это язык программирования для создания веб-сайтов.
Веб-сайт (website) — совокупность HTML страниц и других электронных документов, с общим дизайн, взаимосвязанных гиперссылками и расположенных на одном доменном имени.
PHP хорошо встраивается в верстку уже известного вам языка HTML.
PHP применяется тогда, когда нужно какую-то информацию хранить на сервере.
Язык PHP отвечает ЗА ЛОГИКУ поведения сайта, но само знание языка не сделает из вас разработчика, вам необходимо научиться СТРОИТЬ АЛГОРИТМЫ.
Например, строим логику таким образом, что только администратор может изменить запись в блоге или посмотреть отчет о продажах в интернет-магазине, другим пользователям эти действия недоступны .
Любой язык прост, если научиться его понимать!
Наша задача научить вас ЧИТАТЬ чужой код, и СОЗДАВАТЬ свой.Что это значит?
Когда вы видите код уже написанной программы, то читая его, легко представите себе, что будет происходить на экране монитора в результате логики работы алгоритмов.
Чтобы научиться web-программированию разбиритесь — какой у вас есть строительный материал для сайтостроения. На данном этапе это язык программирования PHP и база данных MySQL.
Чтобы понимать язык достаточно разобраться в синтаксисе, основных определениях и правилах применения.
Ваши основные строительные материалы:
— функции и создание собственных функций,
— отправка и получение данных из HTML-форм (GET, POST),
— объектно-ориентированное программирование (Классы, инкапсуляция, полиморфизм, наследование, интерфейсы)
Основы безопасности сайта
Важно знать, КАК защитить свое творение. В этом модуле PHP/MySQL научитесь грамотно писать программы на PHP, чтобы вероятность взлома сайта стремилась к нулю.
Перейдем к базам данных MySQL/MariaDB
Практически любой сайт имеет базу данных. Это хранилище, в котором собирается и структурируется используемая на сайте информация. Например, если это блог, то в базе хранятся: темы статей, сами статьи, имена авторов, дата публикации, название рубрики, комментарии и т.д.
Вам интересно узнать статистику своего сайта? Сколько посещений, время нахождения на сайте, количество новых пользователей, сколько было продаж и т.д. Это аналитическая информация и она тоже хранится в базе данных.
MySQL/MariaDB — это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Большинство данных веб-сайта хранится в MySQL/MariaDB.
SQL — язык запросов к базам данных, с помощью которого можно выбирать данные из таблиц, сортировать данные, суммировать числовые данные, которые хранятся в ячейках таблицы. Таблицы в базах данных похожи на таблицы в Excel, но с помощью SQL можно удобно работать с этими данными.
Научиться работать с базами данных необходимо.
Основные операции:
— ввод и вывод данных,
— сортировка,
— обновление,
— удаление.
В процессе обучения вы знакомитесь с системой администрирования сайта и спроектируйте свою первую структуру таблиц базы данных.
Подружите их в своей деятельности по сайтостроению на курсе PHP/MySQL на интерактивной он-лайн платформе beONmax.
На PHP пишут программы по: регистрации и авторизации пользователей, поиску по сайту, можно создать собственные движки, вычислительного робота, автоматизировать повторяющиеся алгоритмы, создать интернет-магазин и т.д.
Очень много вакансий на работу PHP-программистом! PHP — это один из самых распространенных языков веб-программирования! То есть, зная всего один язык программирования, сможете реализовать тысячи всевозможных проектов, как для себя, так и для других людей за хорошие деньги!
PHP достаточно прост и это будет очень важно для тех, кто еще ни разу не программировал! Научившись PHP, вы проще осваиваете другие языки программирования.
Секрет неуклонного движения вперед в том, чтобы сделать первый шаг. Секрет первого шага в том, чтобы разбить сложные задачи на простые и начать с самой первой.
Марк Твен
Будь на максимуме! Включайся в web!
команда beONmax
Ждать не нужно когда наберется группа или наступит дата начала курса — на beONmax вы приступаете к обучению сразу!
Поделитесь в социальных сетях