Глава 19
Для установления соединения с сервером MySQL и выбора БД вызывается функция
mysqli_connect(), принимающая в качестве параметров имя сервера, с которым надо
соединиться, имя пользователя и его пароль, и наконец имя БД. Эта функция действует
аналогично командам запуска утилиты mysql, которой мы указывали те же параметры.
Функция mysqli_connect() при успехе возвращает идентификатор соединения,
а при неудаче - false.
До сих пор, работая с сервером MySQL, мы использовали учетную запись суперпользователя
root в первую очередь для того, чтобы познакомиться со структурой системных БД. Но ни
один из администраторов сервера не позволит WEB-мастеру использовать имя и пароль
суперпользователя в сценариях PHP для подключения к рабочему серверу.
Обычно WEB-мастер узнает от администратора имя пользователя и пароль для своих
сценариев, а часто и единственное имя БД, которое он может использовать. Последнее
вовсе его не ограничивает - мы видели, что в БД можно создавать сколько угодно таблиц,
и не обязательно, чтобы они были связаны друг с другом.
Итак, когда вы заключаете с хостом договор о размещении своего сайта с поддержкой PHP
CREATE DATABASE db45;
и MySQL, администратор сервера БД дает такие команды:
GRANT ALL PRIVILEGES ON db45.* TO user45 identified by 'pass45';
Это означает, что для вас создана БД и введена учетная запись.
Параметры соединения с сервером MySQL могут использоваться в большом числе сценариев.
<?php
С учетом возможных изменений этих параметров целесообразно создать сценарий, содержащий
определения констант соединения, и подключать его с помощью инструкции include() в каждый
сценарий работы с MySQL:
define('USERNAME', "user45");
define('PASSWORD', "pass45");
define('DBNAME', "taxi");
define('SERVER', "localhost");
?>
Далее в сценариях будем использовать эти константы для указания соответствующих
$link = mysqli_connect(SERVER, USERNAME, PASSWORD, DBNAME);
значений. Функция mysqli_connect() осуществляет соединение с сервером и выбор БД:
Эта функция возвращает идентификатор соединения в случае успеха и false в случае
if (!$link) {
неудачи. В последнем случае надо вывести сообщение об этом с помощью функции
mysqli_connect_error()),
возвращающей описание ошибки соединения:
mysqli_connect_error());
exit;
Можно поменять базу (аналогично SQL-команде USE), вызвав функцию mysqli_select_db(),
mysqli_select_db($link, DBNAME);
которой надо передать идентификатор соединения с сервером и имя БД:
Эта функция возвращает true или false в зависимости от того, удалось подключиться к базе или нет.
Назад |
Начало урока |
Вверх |
Вперед
Содержание