Система управления базами данных MySQL и язык серверного программирования PHP используются повсеместно, предоставляя удобные инструменты для обработки данных. Внешне существенные различия в логике обработки и хранения информации на самом деле дополняют друг друга возможностями. Имеет смысл рассмотреть варианты PHP подключения к MySQL и выбрать наиболее подходящий для решения конкретной задачи.
Общая логика работы с MySQL
MySQL имеет свой диалект языка запросов, который доступен на PHP через набор функций. Подключение к MySQL через PHP может быть выполнено несколькими простыми функциями, если нет необходимости в построении сложной системы запросов или в использовании специальных возможностей системы управления базами данных.
Вам будет интересно:Как сохранить в "Фотошопе" файл: советы и рекомендации
Для начала работы необходимо иметь параметры:
- хоста;
- базы данных;
- имя пользователя;
- пароль пользователя.
Правильного указания текстовых значений этих четырех параметров достаточно для подключения и успешной работы с базой данных. MySQL отличается простотой, удобством эксплуатации и работает всегда безукоризненно. Если возникают какие-либо неполадки, необходимо проверить файлы конфигурации и *.ini файлы MySQL, PHP и Apache (или другого используемого сервера). Возможны и другие причины, но это будет исключение из правил.
Вам будет интересно:Где 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 - они прекрасно работают в паре, но предпочтительнее уточнить доступные версии у хостера и написать качественный код.