В этой статье сегодня поговорим о создании подключения к базе данных и обсудим какой вариант лучше использовать процедурный или объектно - ориентированный. Для начала давайте разберем на каком уровне мы находимся, если это уровень полного новичка, тогда мой совет без исключения начать использовать процедурный стиль подключения к базе данных. Ранее я писал статью по этой теме на своем блоге, подробнее о процедурном стиле подключения к базе данный читайте в статье: «Как подключиться к MySQL используя PHP» . Если за плечами есть уже какой нибудь опыт работы с процедурным стилем подключения к базе данных, тогда Вас наверное как и меня мои проекты просто взяли и заставили использовать объектно - ориентированный подход.

Так или иначе мы сейчас разберем этапы построения класса для создания подключения к базе данных MySQL на языке PHP. Нам понадобиться два PHP файла, в один файл мы «положим» класс для создания подключения к базе данных, а во - втором будем работать с этим классом.

Создадим два файла:

  • index.php;
  • database.class.php;

Думаю, мы не маленькие уже дети и знаем, что нам нужно для работы с PHP файлами. Установленный веб - сервер Apache, PHP, СУБД MySQL и знает куда эти файлы положить - (для тех, кто не знает или забыл).

Файл в котором храниться класс я выношу в отдельный файл и именую его в формате: имя класса.class.php и я знаю, что храниться у меня в этом файле. Когда в проекте много классов, можно потеряться, поэтому рекомендую именовать файлы с классами в формате описанным выше.

Файл database.class.php:

Давайте сейчас разберем, что было создано на данном шаге. С помощью ключевого слова «class», имени класса - DataBase и фигурный скобок мы создали тело класса. В созданном классе мы создали два свойства, в $mConnect - где храниться результат соединения с базой данных и $mSelectDB - где храниться результат выбора базы данных. Вы могли заметить ключевые слова в каждом свойстве - public и static. О чем они говорят? Public означает, что свойство доступно из вне класса, а static дает возможность обращаться или вызывать свойство без создания экземпляра класс, что очень часто удобно в работе.

Добавим метод Connect() для создания соединения с базой:

".mysql_error()."

"; exit(); return false; } // Возвращаем результат return self::$mConnect; } } ?>

  • $host - IP адрес сервера, на локальном ПК это localhost;
  • user - имя пользователя базы данных;
  • $pass - пароль пользователя базы данных;
  • $name - имя базы данных к которой подключаемся;

Функция mysql_connect() создает соединение с базой данных, результат выполнения сохраняет в $mConnect. Далее идет проверка конструкцией IF: Если подключение не прошло успешно, вывести сообщение об ошибке… Иначе PHP проигнорирует блок IF и пойдет дальше выбирать базу данных. Функция mysql_select_db() производит выбор имени базы данных, если в базе не существует запрашиваемой база данных, в этом случае программа сообщит пользователю об ошибке. Если все пройдет успешно, соединение с базой данных вернет return.

Добавляем метод Close():

К сожалению, не удалось подключиться к серверу MySQL

"; exit(); return false; } // Пробуем выбрать базу данных self::$mSelectDB = mysql_select_db($name, self::$mConnect); // Если база данных не выбрана, вывести сообщение об ошибке.. if(!self::$mSelectDB) { echo "

".mysql_error()."

"; exit(); return false; } // Возвращаем результат return self::$mConnect; } // Метод закрывает соединение с базой данных public static function Close() { // Возвращает результат return mysql_close(self::$mConnect); } } ?>

Следующий и уже последний в этом классе метод Close() - закрывает соединение с базой данных, функция mysql_close() закрывает соединение с сервером MySQL и возвращает результат.

Файл index.php:

ассоциативный массив $row = mysql_fetch_assoc($result); // Выводит версию сервера MySQL echo $row["VERSION"]; // Закрываем соединение с базой данных DataBase::Close(); ?>

С помощью функции define() мы создали константы, для хранения параметров соединения с базой данных. Require_once подключает наш класс DataBase в файл index.php.

Давайте вспомним ключевое слово static, которое использовалось в классе DataBase в свойствах и методах данного класса. Это дает нам возможность обращаться к свойствам и методам класса через "::" (два двоеточия). Метод DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE), принимает 4 параметра - созданные функцие define() константы, в которых хранится информация о соединения с базой данных. Если соединение пройдет успешно, метод Connect() вернет нам соединение с базой данных. Далее мы сможем работать и выполнять запросы к базе данных. Функция mysql_query() - выполняет запрос к базе данных. Функция mysql_fetch_assoc() - обрабатывает ряд результата запроса и возвращает ассоциативный массив. Конструкция echo выводит версию сервера MySQL. И в завершение метод DataBase::Close() - закроет соединение с базой данных.

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

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

  • Подключение с помощью расширения Mysqli (рекомендуется)
  • Подключение с помощью PDO (рекомендуется)
  • Подключение с помощью традиционных функций устаревших mysql_ (устар)

Для этого необходимо установить пакет PHP-MySQL.

На основе дистрибутива RedHat включая , использовать yum для установки PHP-MySQL, как показано ниже.

Yum install php-mysql

В зависимости от вашей системы, выше будем устанавливать или обновлять следующие зависимости:

  • php-cli
  • php-common
  • php-pdo
  • php-pgsql

После того, как все установлено, страница phpinfo будет отображать MySQL модуль, как показано ниже:

Для всех приведенных ниже примеров, мы будем подключаться к базе данных MySQL, которая уже существует. Если вы новичок в MySQL, это хорошее место, чтобы начать: .

Примечание: Все, что описано здесь также будет работать с MariaDB, как это работает на MySQL.

1. Подключение на PHP с использованием расширения Mysqli

MySQLi означает MySQL Improved.

Обратите внимание, что в большинстве дистрибутивов (например: CentOS), PHP-MySQLi уже является частью пакета PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-MySQLi. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение Mysqli на вашей системе.

Создайте следующий файл mysqli.php в DocumentRoot вApache:

connect_error) { die("Ошибка: не удается подключиться: " . $conn->connect_error); } echo "Подключение к базе данных.
"; $result = $conn->query("SELECT name FROM employee"); echo "Количество строк: $result->num_rows"; $result->close(); $conn->close(); ?>

В приведенном выше:

  • MySQLi – Эта функция будет инициировать новое соединение, используя расширение Mysqli. Эта функция будет принимать четыре аргумента:
    1. Имя хоста, где база данных MySQL работает
    2. Имя пользователя для подключения MySQL
    3. Пароль для пользователя mysql
    4. База данных MySQL для подключения.
  • Функция запроса – Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец имени из базы данных employee.
  • Наконец, мы отображаем количество строк, выбранных с помощью переменной num_rows. Мы также закрываем соединение, как показаны выше.

Подключение к базе данных. Количество строк: 4

Примечание: Если вы пытаетесь подключиться к удаленной базе данных MySQL, то вы можете сделать это, чтобы избежать ошибки запрета подключения к хосту: Как разрешить клиенту MySQL подключиться к удаленному серверу MySQL.

2. Подключение при помощи PHP к MySQL с расширением PDO

PDO означает PHP Data Objects.

PDO_MYSQL реализует интерфейс PDO, предоставляемый РНР для подключения программы к базе данных MySQL.

В большинстве дистрибутивов Linux (например, CentOS и RedHat), PHP-PDO пакет уже входит в пакет PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-PDO. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение PDO_MYSQL PHP в вашей системе.

Создайте следующий файл MySQL-pdo.php в вашим Apache DocumentRoot:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Подключение к базе данных.
"; $sql = "SELECT name FROM employee"; print "Имя Сотрудника:
"; foreach ($conn->query($sql) as $row) { print $row["name"] . "
"; } $conn = null; } catch(PDOException $err) { echo "Ошибка: не удается подключиться: " . $err->getMessage(); } ?>

В приведенном выше:

  • новый PDO – Создаст новый объект PDO, который будет принимать следующие три аргумента:
    1. Строка подключения MySQL: будет в формате “mysql:host=$hostname;dbname=$dbname”. В приведенном выше примере, БД работает на локальном хосте, и мы подключаемся к базе данных andreyex.
    2. Имя пользователя для подключения к MySQL.
    3. Пароль для пользователя mysql.
  • $sql variable – создание запроса SQL, который вы хотите выполнить. В этом примере, мы выбираем столбец name из таблицы employee.
  • query($sql) – здесь мы выполняем SQL запрос, который мы только что создали.
  • foreach – вот здесь мы пробегаем по вышеуказанным командам и сохраняем их в переменной строке $, а затем мы показываем их с помощью команды печати.
  • В MySQL PDO, чтобы закрыть соединение, просто обнулите значение переменной $conn.

При вызове mysqli.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.

Подключение к базе данных. Имя Сотрудника: сайтslan Maria Oleg

3. Подключение на PHP с использованием функций mysql_ (устар)

Используйте этот метод, только если вы используете более старую версию PHP и не можете обновить ее до новой версии по какой-то причине.

Это устаревшее расширение PHP 5.5 версии. Но начиная с PHP 7.0 версии, это не будет работать, так как она была удалена.

Начиная с PHP 5.5 версии, когда вы используете эти функции, они будет генерировать ошибку E_DEPRECATED.

Создайте следующий файл MySQL-legacy.php под Apache DocumentRoot:

"; $result = mysql_query("SELECT name FROM employee"); $row = mysql_fetch_row($result); echo "Сотрудник 1: ", $row, "
\n"; mysql_close($conn); ?>

В приведенном выше:

  • Функция mysql_connect принимает три аргумента: 1) имя хоста, где база данных MySQL работает, 2) Имя пользователя для подключения к MySQL, 3) Пароль для пользователя MySQL. Здесь подключаемся к базе данных MySQL, которая выполняется на локальном сервере, используя имя пользователя root и его пароль.
  • Функция mysql_select_db – Как следует из названия, будет выбирать базу данных, к которой вы хотите подключиться. Это эквивалентно команде «use». В этом примере мы подключаемся к базе данных andreyex.
  • Функция mysql_query – Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец name из базы данных employee.
  • mysql_fetch_row – используйте эту функцию для извлечения строк из запроса SQL, который мы только что создали.
  • Наконец закрыть соединение с помощью команды mysql_close, как показано выше.

При вызове MySQL-legacy.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.

Подключение к базе данных. Сотрудник 1: AndreyEx

Подключение к базе данных mysql создают при помощи функции mysql_connect(). В скобках указываются переменные при помощи которых устанавливается соединение.
Какие именно?

1. $location - указывает сервер на котором расположен скрипт. В большинстве случаем это localhost.
2. $user - в этой переменной прописываем имя пользователя базы данных
3. $password - пароль пользователя базы данных
После подключения к базе данных, обязательно должны выбрать имя базы данных. Для этого применяют функцию mysql_select_db(). В скобках прописываем два параметра:
1. $dbname - в этой переменной указываем название вашей базы данных. Название может быть любым. Пишем все, разумеется, на английском.
2. $connect - дескриптор соединения с базой данных. В случае неудачного соединения с базой данных переменная принимает аргумент false

Код соединения с базой следующий:

Нет соединения с базой данных

"); exit(); } ?>

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

Как создать подключение к базе данных phpmyadmin

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

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

Зачем усложнять всю систему для самого себя?

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

Создадим подключение базы данных к сайту на php

Теперь переходим к самой ответственной работе по переносу нашего сайта или приложения на удаленный сервер. Теперь следует иметь в виду, что для нормальной работы вашего сайта вам потребуется платный хостинг с поддержкой PHP 5 и выше, MySql обязательно с интерфейсом Phpmyadmin и полностью весь интерфейс файлового менеджера, для управления файлами вашего сайта.

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

На многих хостингах все происходит по-разному. Либо вы сами прописываете логин, пароль или пароль, логин устанавливается автоматически при создании базы данных.
Код для подключения следующий:

Нет соединения с базой данных"); exit(); } if (! @mysql_select_db($dbname,$connect)) { echo("

Нет соединения с базой данных

"); exit(); } ?>

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

1. $dbname = "base"; // имя базы данных
2. $user = "vashlogin"; // имя пользователя базы данных
3. $password = "123456789"; // пароль пользователя базы данных

Прежде чем перейти к статье, хочу извиниться за задержки в их написании. Сейчас идёт экзаменационная сессия, поэтому далеко не каждый день получается что-нибудь написать, но впредь обязательно наверстаю. В этой статье мы переходим к общению с базами данных через PHP . PHP содержит все возможности для работы с базами с использованием ПО MySQL , и в этой статье мы научимся подключаться к базе данных через PHP .

Есть несколько способов работы с MySQL в PHP . Все эти способы появлялись, затем устаревали, заменяясь новыми. И на данный момент самый последний способ - это объекто-ориентированная модель общения с MySQL. Именно с использованием этого самого современного способа мы и будем работать с базами данных.

Прежде, чем перейти к подключение к базе данных в PHP , давайте разберём алгоритм работы с ними:

  1. Подключение.
  2. Отправка запросов и получение результата.
  3. Закрытие подключения.

Подключиться к базе данных через PHP можно следующим образом:

$mysqli = new mysqli("localhost", "Admin", "pass", "mybase");
?>

Тут всё интуитивно понятно, однако, сделаю пояснения: мы создаём экземпляр объекта MySQLI , передавая конструктору следующие параметры:

  1. Имя хоста , на котором работает MySQL.
  2. Имя пользователя .
  3. Пароль .
  4. Имя базы данных , с которой мы хотим работать.

Если какие-нибудь данные будут неверные, то, соответственно, конструктор вернёт ошибку, и подключения не будет.

Однако, тут есть один хитрый момент. Дело в том, что если будет ошибка подключения, то выполнение скрипта не будет остановлено. В результате, он начнёт дальше выполнять наш код. В большинстве случаев, при ошибке подключения требуется прекратить выполнение скрипта, поэтому пишут так:


}
?>

В данном примере мы проверяем: если были какие-либо ошибки при подключении, то выводим их и заканчиваем выполнение скрипта (функция exit() ). Также обратите внимание на оператор подавления ошибок "@ ", который мы вставляем для того, чтобы убрать сообщение PHP о невозможности подключения, ведь мы это потом сами проверяем и выводим уведомление.

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

$mysqli = @new mysqli("localhost", "Admin", "pass", "mybase");
if (mysqli_connect_errno()) {
echo "Подключение невозможно: ".mysqli_connect_error();
}
$mysqli->close();
?>

Как Вы догадались, закрывает подключение метод close() .

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