Компьютерные Технологии в Обучении

Изучение PHP на практических примерах

256 >>  Программирование
 

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

Использование MySQLi вместо MySQL в некоторых случаях даёт ряд определённых преимуществ. В том числе безопасность и быстродействие.
Язык PHP имеет интерфейс к MySQLi, однако на Вашем хостинге должен быть подключен соответствующий модуль. Как это ни странно, но у ряда хостеров его нет :(
Пользовательская функция connect_to_db, предложенная нами в другом примере, немного модернизируется, с учетом синтаксиса MySQLi. При этом во всех Ваших скриптах для подключения к СУБД других изменений делать не требуется, так как в них будет вызываться не стандартная функция, а Ваша connect_to_db()

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

Имя сервера, логин и пароль для подключения к СУБД рекомендуется определять в виде констант и размещать их в отдельном конфигурационном файле. Такой подход повышает безопасность веб-приложений, конечно, при выполнении и других мер.
Например, php-код может выглядеть так:
define("DB_SERVER", "localhost"); define("DB_USER", "login"); define("DB_PASS", "password"); define("DB_NAME", "dbname");
Константы можно назвать как угодно, а их значения определяют параметры подключения localhost - стандартное обозначение (другие варианты встречаются крайне редко и зависят от настроек, установленных у хостинг-провайдера). Значения login, password и dbname - Ваши для подключения к СУБД :). Как видите, константы те же, что и при подключении к MySQL.

Пример php-кода для подключения к MySQLi на локальном компьютере

function connect_to_db () { $connect = @mysqli_connect(DB_NAME, DB_SERVER, DB_USER, DB_PASS); if( ! $connect) { die (mysqli_errno().' '.mysqli_error().' Ошибка подключения.'); } = mysql_query('SET NAMES CP1251'); mysqli_character_set_name('CP1251') return $connect; }
«Собачка» перед вызовом функции mysqli_connect "подавляет" вывод информационных сообщений, генерируемых системой в случае ошибки. В отличие от MySQL при подкючении к MySQLi требуется сразу указывать имя базы даных, при этом данный параметр идёт первым, а затем сервер, логин и пароль. Языковая конструкция die, являющаяся синонимом для exit, выводит информационное сообщение и завершает работу скрипта. При отладке php-скриптов на локальном компьютере рекомендуется использовать функции mysqli_errno и mysqli_error, а перед загрузкой на сервер эти функции обязательно нужно убрать и оставить только информационное сообщение, например, "Ошибка подключения", как показано в последнем примере.
В СУБД обычно используется кодировка utf-8. Если Вы используете ту же кодировку, тогда никаких преобразований делать не нужно. В случае использования другой кодировки, например, windows-1251, то тогда преобразование нужно выполнять. Для этого рекомендуется использовать функцию mysqli_character_set_name.

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

function connect_to_db () { $connect = @mysqli_connect(DB_NAME, DB_SERVER, DB_USER, DB_PASS); if( ! $connect) { die (mysqli_errno().' '.mysqli_error().' Ошибка подключения.'); } = mysql_query('SET NAMES CP1251'); mysqli_character_set_name('CP1251') return $connect; }
 
ВебПрограммированиеГрафикаОфисные программыПедагогикаПеременаНаши баннеры
Брайан Лоулер, энтузиаст панорамной фотографии, перевернул привычную точку зрения и разработал метод для съемки вертикальных панорамных изображений
Ребенок - это не сосуд, который надо заполнить, а огонь, который надо зажечь
Мудрец
 
Город книг - аннотации книг по Photoshop, веб-дизайну, программированию для веб
Яндекс цитирования

© Олег Тыщенко, 2000-2017