24-06-2018 03:05

PHP-подключение к MySQL для чтения и записи данных

Система управления базами данных MySQL и язык серверного программирования PHP используются повсеместно, предоставляя удобные инструменты для обработки данных. Внешне существенные различия в логике обработки и хранения информации на самом деле дополняют друг друга возможностями. Имеет смысл рассмотреть варианты PHP подключения к MySQL и выбрать наиболее подходящий для решения конкретной задачи.

Общая логика работы с MySQL

MySQL имеет свой диалект языка запросов, который доступен на PHP через набор функций. Подключение к MySQL через PHP может быть выполнено несколькими простыми функциями, если нет необходимости в построении сложной системы запросов или в использовании специальных возможностей системы управления базами данных.

Как сохранить в "Фотошопе" файл: советы и рекомендацииВам будет интересно:Как сохранить в "Фотошопе" файл: советы и рекомендации

Для начала работы необходимо иметь параметры:

  • хоста;
  • базы данных;
  • имя пользователя;
  • пароль пользователя.

Правильного указания текстовых значений этих четырех параметров достаточно для подключения и успешной работы с базой данных. MySQL отличается простотой, удобством эксплуатации и работает всегда безукоризненно. Если возникают какие-либо неполадки, необходимо проверить файлы конфигурации и *.ini файлы MySQL, PHP и Apache (или другого используемого сервера). Возможны и другие причины, но это будет исключение из правил.

Где Firefox хранит пароли и закладки: поиск сохраненной в браузере информацииВам будет интересно:Где Firefox хранит пароли и закладки: поиск сохраненной в браузере информации

Работа начинается с установки соединения. В случае успеха можно выполнять операции с базой данных. Обычно используется процедурный метод посредством mysqli_query() и смежных с ней функций, но допускается использование объектно-ориентированного стиля, работа через PDO или другие варианты.

Соответствие версий: надежная работа

Существенное значение имеют версии используемых MySQL и PHP. Считается, что интерфейс функций mysql_* устарел, и нужно использовать только mysqli_*. Это общее правило. В некоторых ситуациях можно столкнуться с устаревшими установками, которые нельзя удалить.

В любом случае, прежде чем начинать планировать работу с конкретным веб-ресурсом, нужно уточнить данные хостинга. Многое в том, как организовать подключение базы MySQL на PHP, будет зависеть от условий, предоставляемых на хостинге.

При помощи функции phpinfo() можно определить все данные установки PHP и определить, какие именно предоставляются возможности для выполнения соединений.

Пример соединения с MySQL

Идеальный вариант - работать с базой данных через собственный интерфейс. Использовать весь ассортимент функций mysqli_*, прежде всего mysqli_query(), необходимо, когда формализовать быстро нужный функционал базы данных не получается или это делать не целесообразно.

В предлагаемом примере достаточно иметь возможность читать, писать, изменять и удалять. Поэтому использование mysqli_query() и смежных функций вынесено в отдельный объект. Ничего лишнего. Получается надежно, просто и доступно для быстрого изменения.

Собственно, подключение выполняется в самой первой строчке (1) функцией mysqli_connect(), которая получает четыре параметра:

  • имя хоста;
  • имя пользователя;
  • пароль пользователя;
  • имя базы данных.

Обычно эти данные определяются хостером, но в любом случае они фиксированы и действуют для всего ресурса. Может быть предоставлено несколько баз данных или несколько различных пользователей с различным объемом прав - на чтение, запись или другие операции.

Пункт 2 редко требуется, но забывать про кодировку не следует, особенно если что-то при соединении пошло не так. Первое, что подвергается сомнению - кодировка базы и кодировка страницы, с которой устанавливается соединение.

Пункт 3 редко используется, а зря. Иметь в коде вариант тестирования – это всегда хорошее правило. В данном случае по всем функциям интерфейса расставлены вставки тестового кода, которые управляют выводом отладочной информации в файл протокола.

Пункт 4 также можно использовать. В данном случае в ходе разработки можно включать/выключать функцию, которая очищает таблицы базы данных для проверки правильности работы, создаваемого функционала - с чистого листа.

Создание или использование базы данных

Пункт 5 - это создание базы данных. В этом веб-ресурсе используется концепция саморазвивающегося сайта. Даже если базы данных нет, он ее создает и использует. Далеко не все задачи требуют такого решения.

Основное применение PHP в подключении к MySQL - работа с данными. Фактически база существует, и она достаточно объемна или расположена на общем ресурсе, и нужно дописать конкретный функционал.

Пункт 5 - это начало использования базы данных так, как требует решаемая задача.

В этом примере создается универсальный объект для работы с базой данных, который имеет всего четыре функции:

  • iLineSel($cWho, $cFrom, $cWhere)
  • iLineIns($cTo, $cNames, $cValues)
  • iLineDel($cFrom, $cWhere)
  • iLineUpd($cTo, $cSet, $cWhere)

Это выборка данных, вставка строк, удаление строк и изменение строк соответственно. Параметры функций соответствуют синтаксису операторов SQL: select, insert, delete и update.

Использование базы через эти функции значительно упрощается, поскольку они обеспечивают интерфейс конкретной задачи и не требуют в ходе ее решения писать собственные коды посредством mysqli_query и смежных функций PHP.

По существу, MySQL подключение к PHP - это область отношений базы и языка, а набор функций - это отношения языка и конкретного кода (приложения).

Пример подключения через интерфейс

Разработка интерфейса, а не использование функционала PHP/MySQL непосредственно выгодно отличает создаваемый код от обычного кодирования. Например, одна из четырех функций, обозначенных выше, iLineSel может быть исполнена таким образом:

  • В функцию передается список выборки, имя таблицы и условие выборки.
  • Внутри функции формируется SQL-запрос и выполняется непосредственное подключение к базе данных MySQL.
  • PHP предоставляет возможность описать набор собственных функций или создать независимый объект.
  • За пределами этих функций (этого объекта) стоит код, который получает нужные подключения удобным образом.

Кодировка и версии

Безусловно, PHP5 и PHP7-подключения к MySQL не отличаются по логике, но могут отличаться по синтаксису. Понятие производительности тоже определяется конкретным исполнением, а не конкретными версиями. Семерка лучше пятерки, как и полагается, но важнее все же код.

Выполняя на PHP подключение к MySQL базе данных, самое главное - обратить внимание на качество изготавливаемого кода и используемую кодировку. Лучше писать на PHP 7.2.4 и использовать MySQL 5.7.21 - они прекрасно работают в паре, но предпочтительнее уточнить доступные версии у хостера и написать качественный код.



Источник