Подключение бд mysql php. Подключение к базе данных MySQL

Прежде чем перейти к статье, хочу извиниться за задержки в их написании. Сейчас идёт экзаменационная сессия, поэтому далеко не каждый день получается что-нибудь написать, но впредь обязательно наверстаю. В этой статье мы переходим к общению с базами данных через 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 , а уже в следующей статье мы с Вами научимся отправлять запросы и получать ответы.

Подключение к базе данных 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"; // пароль пользователя базы данных

В этой статье сегодня поговорим о создании подключения к базе данных и обсудим какой вариант лучше использовать процедурный или объектно - ориентированный. Для начала давайте разберем на каком уровне мы находимся, если это уровень полного новичка, тогда мой совет без исключения начать использовать процедурный стиль подключения к базе данных. Ранее я писал статью по этой теме на своем блоге, подробнее о процедурном стиле подключения к базе данный читайте в статье: «Как подключиться к 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:

С помощью функции 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() - закроет соединение с базой данных.

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

Что нужно для подключения PHP к MySQL?

1. Установленный СУБД и созданная рабочая база данных. Например, в MySQL (Что такое СУБД и MySQL?).
2. Учётная запись пользователя для MySQL с соответствующими правами (Что такое права и привилегии в MySQL?)
3. Соответственно сервер с установленным PHP

Если не выполнить один из этих пунктов, то подключиться не получится.

Алгоритм взаимодействия PHP и MySQL

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

Теперь подключаемся к базе данных средствами PHP:

Код PHP

$db = mysql_connect("localhost", "Admin", "pass"); // данные пользователя
mysql_select_db ("baseName",$db); // выбираем к какой БД подключаемся
?>
Как Вы видите, для подключения указываются четыре параметра:

1. Имя хоста. Во многих случаях достаточно указать localhost (на этом же хостинге).
2. Имя пользователя, которого Вы зарегистрировали для использования MySQL.
3. Пароль пользователя, которого Вы зарегистрировали для использования MySQL.
4. Название Базы Данных, к которой хотим подключиться. Соответственно у пользователя, которого мы указали, должны быть права для работы в этой БД.

В результате, если что-то указано неверно, то ничего криминального не произойдёт, а скорее всего Вы увидите ошибку. Но будем оптимистами, допустим Вы ввели всё верно.

Ещё один вид подключения:

Код PHP

$host="localhost"; /*хост*/
$user="admin"; /*Имя пользователя*/
$password="12345"; /*Пароль пользователя*/
$db="baseName"; /*Название базы данных*/

Mysql_connect($host, $user, $password); /*Подключение к серверу*/
mysql_select_db($db); /*Подключение к базе данных на сервере*/
?>
Тут я наглядно создаю переменные с примером данных по пользователю и хосту, а потом создаём подключение.

Как прервать (закрыть) подключение к БД в PHP?

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

Код PHP

$user="admin";
$password="12345";
$db="baseName";

// если произошла ошибка
mysql_connect($host, $user, $password) or die("MySQL сервер недоступен!".mysql_error());
mysql_select_db($db) or die("Нет соединения с БД".mysql_error());
?>
Очень важно также то, что проработка сценария прекратится, что убережёт Вас от массы некорректных данных.

Поздравляю! Теперь Вы знаете как подключиться к БД в PHP и закрыть соединение!

Спасибо за внимание!