Space Base Space Base
+7 928 008-80-89
ru
  • en
  • es
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  1. Библиотека
  2. PHP
  3. Подключение базы данных MySQL в PHP
logo

Подключение базы данных MySQL в PHP

26.05.2020

Прежде чем выполнять какие-либо операции с записями в БД, необходимо к ней подключиться. Сделать это можно несколькими способами:

  • используя объектно-ориентированный подход MySQLi;
  • процедурный подход MySQLi;
  • технология PDO;
  • для старых версий PHP (до PHP 5) MySQL.

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

В любом случае, какой бы мы не применяли метод, необходимо иметь основную информацию о БД и доступах к ней:

  • сервер, на котором размещена БД. Если вы разрабатываете проект на локальном сервере (а также в большинстве случаев, пользуясь хостингом), указываем значение localhost;
  • логин и пароль пользователя с доступом нужной БД (если работа ведется на локальном сервере, пользователь может быть root с пустым паролем);
  • имя БД, с которой планируется выполнять операции.

В итоге имеем набор заданных переменных для каждого из примеров ниже:

$db_host = "localhost"; // сервер
$db_user = "root"; // имя пользователя
$db_pass = ""; // пароль
$db_name = "my_db"; // название базы данных

Объектно-ориентированный метод MySQLi

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

// выполнение подключения
$db = new mysqli($db_host, $db_user, $db_pass, $db_name);

// проверка на успешное подключение и вывод ошибки, если оно не выполнено
if ($db->connect_error) {
	echo "Нет подключения к БД. Ошибка:".mysqli_connect_error();
	exit;
}

// операции с БД, например:
$my_data = $db->query("SELECT * FROM my_table");

// завершение подключения
$db->close();

Процедурный подход к использованию MySQLi

Если для вас более привычен и понятен порядок работы в процедурном формате, то можно использовать этот же метод, но в ином синтаксисе. Такое решение будет удобно, в случае переноса старого проекта, реализованного на MySQL, на версию PHP. Будет меньше изменений в коде.

// выполнение подключения
$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name)
	or die('Ошибка: подключение не выполнено.'); // сообщение об ошибке

// операции с БД, например:
$my_data = mysqli_query($db,"SELECT * FROM my_table");

// завершение подключения
mysqli_close($db);

Подключение к БД средствами PDO

Хорошим решением для работы с веб-проектами является применение технологии PDO (PHP Data Objects). Преимущество технологии в том, что с ее помощью можно работать с различными БД, не меняя основной код проекта.

// выполнение подключения
try {
	$db = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
	$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) { // обработчик в случае ошибки подключения
	echo "Ошибка: " . $e->getMessage();
}

// операции с БД, например:
$my_data = $db->query("SELECT * FROM eddb_projects");

// завершение подключения
$db = null;

Подключение MySQL (для старых версий PHP)

Если по какой-то причине, необходима работа в старых версиях PHP или работа с древними проектами, стоит иметь представление о таком подходе. Реализация подобна процедурной MySQLi, т.к. является ее предыдущей версией.

// выполнение подключения
$db = mysql_connect($db_host, $db_user, $db_pass)
	or die('Ошибка: подключение не выполнено.'); // сообщение об ошибке подключения
mysql_select_db($db_name, $db)
	or die('Ошибка: БД не найдена.');

// операции с БД, например:
$my_data = mysql_query("SELECT * FROM my_table");

// завершение подключения
mysql_close($db);

Какой тип подключения к БД выбрать?

Технология подключения всегда выбирается разработчиком исходя из удобства, личных предпочтений и конкретных условий проекта. Главное, чтобы вы понимали рамки проекта и его перспективы. Естественно, не стоит пользоваться древними технологиями и решениями, если есть возможность применить что-то новое и более эффективное.

Если проект небольшой, и не планируется его сложное расширение, то вероятно будет достаточно MySQLi. Причем, лучше объектно-ориентированный подход, т.к. позволяет хорошо структурировать проект.

Если вы разрабатываете систему, которая будет динамически развиваться, возможно вам потребуется заменить БД, с целью работать с большими объемами записей. Здесь лучше реализовать средствами PDO. В последствии, вам не придется изменять много имеющегося кода в связи такими обновлениями.

Ошибки кодировки в результатах примеров

Задачей данной статьи было описание подключений к БД средствами PHP. Чтобы не добавлять лишние строки кода, в примерах используется только код, относящийся к теме. Поэтому если, вы копируете пример и в результате видите непонятные символы вместо сообщений об ошибках подключения кириллицей, стоит указать кодировку. Добавьте в начало кода строку:

header("Content-Type: text/html; charset=utf-8");

Другие материалы:

Функция readfile в PHP, описание и примеры


Значения ошибок $_FILES в PHP


Функция end в PHP, описание и примеры


Написать комментарий

Комментарии

В комментариях запрещено публиковать рекламные материалы. Все сообщения оправляются на модерацию и будут опубликованы, если не нарушают правил сайта после проверки.


коммент.

Разработка сайтов

Корпоративный сайт
Интернет-магазин
Лендинг - одностраничный сайт
Сайт-визитка
Сайт-портфолио

Проектирование

Прототип, UX-дизайн

Дизайн

UI-дизайн
Логотип

+54 911 2801-4950

info@space-base.net
+7 928 008-80-89

Web-сайты для успешного бизнеса

Web-сайты для успешного бизнеса

Главная Услуги Портфолио События Библиотека Контакты
+7 928 008-80-89 Меню
Политика в отношении обработки персональных данных © Copyright 2014 - | Space-Base

Лучшее время начать свой проект - Сейчас!

Выбраны опции:

Отправить сообщение на:

Telegram WhatsApp

Отправляя сообщение, вы даете свое согласие на
обработку песональных данных