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

Пользовательская функция для подключения к базе данных MySQL

Модуль mysql устарел с версии PHP 5.5.0, и удалён в версии 7.0.0. Вместо него используйте mysqli

Пользовательская функция для подключения к базе данных MySQLi


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

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

Пример php-кода определения констант

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

Например, php-код может выглядеть так:

define("DB_SERVER", "localhost");
define("DB_USER", "login");
define("DB_PASS", "password");
define("DB_NAME", "dbname");

Имена констант можете изменить по своему усмотрению, localhost - стандартное обозначение (другие варианты встречаются крайне редко и зависят от настроек, установленных у хостинг-провайдера). Значения login, password и dbname - Ваши для подключения к СУБД :).

Пример php-кода для подключения к базе данных на локальном компьютере

function connect_to_db () {
$connect = @mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if( ! $connect)
{ die (mysql_errno().' '.mysql_error().' Ошибка подключения.'); }
mysql_query('SET NAMES CP1251');
mysql_select_db(DB_NAME);
return $connect;
}

«Собачка» перед вызовом функции mysql_connect "подавляет" вывод информационных сообщений, генерируемых СУБД. Языковая конструкция die выводит информационное сообщение и завершает работу скрипта. В процессе отладки скриптов полезно использовать вызов функций mysql_errno и mysql_error, а в реально работающем сайте эти функции необходимо убрать и оставить только сообщение "Ошибка подключения".

В базе данных информация обычно хранится в кодировке utf-8. Если Ваш сайт использует ту же кодировку, тогда никаких преобразований делать не нужно. В том случае, когда Вы используете для сайта другую кодировку, например, windows-1251, то такое преобразование нужно выполнять.

При использовании php 5.2.3 или выше, а так же MySQL 5.0.7 и выше рекомендуется использовать функцию mysql_set_charset.

Затем надо выбрать базу данных, к которой будут выполняться информационные запросы. В случае ошибки при подключении к базе данных на экран будут выведены номер ошибки и пояснение. Это очень удобно при отладке скриптов на локальном компьютере, но плохо с точки зрения безопасности php-скриптов.

Пример php-кода пользовательской функции для подключения к базе данных

function connect_to_db () {
$connect = @mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if( ! $connect)
{ die ('Ошибка'); }
mysql_query('SET NAMES CP1251');
mysql_select_db(DB_NAME);
return $connect;
}

При необходимости использовать MySQLi предложенная функция легко модернизируется.

Рекламный блок

Информационный блок