Рекламный блок
Пользовательская функция для подключения к базе данных MySQLi
Использование MySQLi вместо MySQL в некоторых случаях даёт ряд определённых преимуществ. В том числе безопасность и быстродействие.
Язык PHP имеет интерфейс к MySQLi, однако на Вашем хостинге должен быть подключен соответствующий модуль, так как встречаются ситуации (хотя и очень редко), когда этот модуль не подключен.
Пользовательская функция connect_to_db, предложенная нами в другом примере, немного модернизируется, с учетом синтаксиса MySQLi. При этом во всех Ваших скриптах для подключения к СУБД других изменений делать не требуется, так как в них будет вызываться не стандартная функция, а Ваша connect_to_db()
Пример php-кода определения констант
Имя сервера, логин и пароль для подключения к СУБД рекомендуется определять в виде констант и размещать их в отдельном конфигурационном файле. Такой подход повышает безопасность веб-приложений, конечно, при выполнении и других мер.
Например, php-код может выглядеть так:
define("DB_USER", "login");
define("DB_PASS", "password");
define("DB_NAME", "dbname");
Константы можно назвать как угодно, а их значения определяют параметры подключения localhost - стандартное обозначение (другие варианты встречаются крайне редко и зависят от настроек, установленных у хостинг-провайдера). Значения login, password и dbname - Ваши для подключения к СУБД :). Как видите, константы те же, что и при подключении к MySQL.
Пример php-кода для подключения к MySQLi на локальном компьютере
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 на сервере
if( ! $connect)
{ die (' Ошибка подключения.'); }
/* mysql_query('SET NAMES CP1251'); альтернативный вариант */
mysqli_character_set_name('CP1251')
return $connect;