Назад | Начало урока | Вперед
Содержание

Глава 19

Процедурный стиль создания скрипта для работы с MySQL
Подключение к серверу и выбор БД

Для установления соединения с сервером MySQL и выбора БД вызывается функция
mysqli_connect(), принимающая в качестве параметров имя сервера, с которым надо
соединиться, имя пользователя и его пароль, и наконец имя БД. Эта функция действует
аналогично командам запуска утилиты mysql, которой мы указывали те же параметры.
Функция mysqli_connect() при успехе возвращает идентификатор соединения,
а при неудаче - false.

До сих пор, работая с сервером MySQL, мы использовали учетную запись суперпользователя
root в первую очередь для того, чтобы познакомиться со структурой системных БД. Но ни
один из администраторов сервера не позволит WEB-мастеру использовать имя и пароль
суперпользователя в сценариях PHP для подключения к рабочему серверу.

Обычно WEB-мастер узнает от администратора имя пользователя и пароль для своих
сценариев, а часто и единственное имя БД, которое он может использовать. Последнее
вовсе его не ограничивает - мы видели, что в БД можно создавать сколько угодно таблиц,
и не обязательно, чтобы они были связаны друг с другом.

Итак, когда вы заключаете с хостом договор о размещении своего сайта с поддержкой PHP
и MySQL, администратор сервера БД дает такие команды:

CREATE DATABASE db45;
GRANT ALL PRIVILEGES ON db45.* TO user45 identified by 'pass45';

Это означает, что для вас создана БД и введена учетная запись.

Параметры соединения с сервером MySQL могут использоваться в большом числе сценариев.
С учетом возможных изменений этих параметров целесообразно создать сценарий, содержащий
определения констант соединения, и подключать его с помощью инструкции include() в каждый
сценарий работы с MySQL:

<?php
define('USERNAME', "user45");
define('PASSWORD', "pass45");
define('DBNAME', "taxi");
define('SERVER', "localhost");
?>

Далее в сценариях будем использовать эти константы для указания соответствующих
значений. Функция mysqli_connect() осуществляет соединение с сервером и выбор БД:

$link = mysqli_connect(SERVER, USERNAME, PASSWORD, DBNAME);

Эта функция возвращает идентификатор соединения в случае успеха и false в случае
неудачи. В последнем случае надо вывести сообщение об этом с помощью функции
mysqli_connect_error()),
возвращающей описание ошибки соединения:

if (!$link) {

printf("Соединение установить не удалось : %s\n",
mysqli_connect_error());
exit;
}

Можно поменять базу (аналогично SQL-команде USE), вызвав функцию mysqli_select_db(),
которой надо передать идентификатор соединения с сервером и имя БД:

mysqli_select_db($link, DBNAME);

Эта функция возвращает true или false в зависимости от того, удалось подключиться к базе или нет.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz