Лекция: Соединение с сервером MySQL
В первую очередь следует установить соединение с сервером при помощи функции mysql_connect(), которая имет следующий синтаксис:
resource mysql_connect ([$server [, $username [, $password [, $new_link
[, $client_flags]]]]])
Эта функция устанавливает соединение с сервером MySQL, сетевой адрес которого задается параметром $server. Вторым и третим аргументами этой функции являются имя пользователя базы данных $username и его пароль $password соответственно.
По умолчанию повторный вызов функции mysql_connect() с теми же аргументами не приводит к установлению нового соединения, вместо этого функция возвращает дескриптор уже существующего соединения. Если четвертому параметру $new_link присвоить значение true, будет открыто новое соединение с сервером.
Параметр $client_flags должен быть комбинацией из следующих констант:
· MYSQL_CLIENT_COMPRESS — предписывает использование протокола сжатия при обмене информации между сервером и клиентом;
· MYSQL_CLIENT_IGNORE_SPACE — в SQL-запросах после имен функций разрешается использование пробелов;
· MYSQL_CLIENT_INTERACTIVE — ждать interactive_timeout секунд до закрытия соединения, если между сервером и клиентом не происходит обмена данными.
Примечание. Все аргументы функции являются не обязательными. В случае их отсутствия, по умолчанию, для этой функции устанавливаются следующие параметры: server = 'localhost: 3306', username принимает значение владельца сервера, аpassword — пустую строку.
В случае успеха функция возвращает дескриптор соединения с сервером, при неудаче возвращает значение false.
Рассмотрим пример.
<?php
$dblocation=«localhost»; //имя сервера
$dbuser=«root»; //имя пользователя
$dbpasswd=""; //пароль
$dbcnx=@mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx) //если дескриптор равен 0, соединение не установлено
{
exit("<p>В настоящий момент сервер базы данных недоступен, поэтому корректное отображение страницы невозможно </p>");
}
else
{
echo("<p> Соединение установлено</p>");
}
?>
Примечание. Для подавления вывода сообщений об ошибках, генерируемых РНР в окно браузера, в примере перед функциейmysql_connect() размещен символ @.
Переменные $dblocation, $dbuser, $dbpasswd хранят имя сервера, имя пользователя и пароль и, как правило, прописываются в отдельном файле(к примеру, config.php), который потом вставляется в каждый РНР-файл, содержащий код для работы с MySQL.
Если код не срабатывает, это может означать, что сервер базы данных не запущен. О том как запустить сервер описывается ЗДЕСЬ.