(PHP 4, PHP 5)
mysql_connect — Открывает соединение с сервером MySQL
Данный модуль устарел начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для этой функции:
$server = ini_get("mysql.default_host"),$username = ini_get("mysql.default_user"),$password = ini_get("mysql.default_password"),$new_link = false,$client_flags = 0Открывает новое соединение с сервером MySQL или использует уже существующее.
serverusernamepasswordnew_linknew_link может заставить
функцию mysql_connect() открыть ещё одно
соединение, даже если соединение с аналогичными параметрами
уже открыто.
В SQL safe mode этот параметр игнорируется.
client_flagsclient_flags должен быть комбинацией из
следующих констант:
128 (включает обработку LOAD DATA LOCAL),
MYSQL_CLIENT_SSL,
MYSQL_CLIENT_COMPRESS,
MYSQL_CLIENT_IGNORE_SPACE or
MYSQL_CLIENT_INTERACTIVE.
Подробнее читайте в разделе Клиентские константы MySQL.
В SQL safe mode этот параметр игнорируется.
Возвращает дескриптор соединения с MySQL в случае успешного
выполнения или false, если возникла ошибка.
Пример #1 Пример использования mysql_connect()
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>Пример #2 Пример использования mysql_connect() с синтаксисом hostname:port
<?php
// соединяемся с example.com на порту 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
// соединяемся с localhost на порту 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>Пример #3 Пример использования mysql_connect() с синтаксисом ":/path/to/socket"
<?php
// соединяемся к localhost по сокету, т.е. /tmp/mysql.sock
// вариант 1: не указываем localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
// вариант 2: указываем localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Ошибка соединения: ' . mysql_error());
}
echo 'Успешно соединились';
mysql_close($link);
?>Замечание: При указании параметру
serverзначения "localhost" или "localhost:port" клиентская библиотека MySQL будет пытаться соединиться с локальным сокетом. Если вы всё же хотите использовать TCP/IP, используйте адрес "127.0.0.1" вместо "localhost". Если клиентская библиотека пытается подключиться не к тому локальному сокету, правильный путь должен быть установлен через указание директивы php.ini mysql.default_host в php.ini, после чего можно оставлять параметрserverпустым.
Замечание: Соединение с сервером будет закрыто при завершении исполнения скрипта, если только до этого оно не было закрыто с помощью функции mysql_close().
Замечание: Ошибка "Can't create TCP/IP socket (10106)" (Невозможно создать сокет TCP/IP) обычно означает, что конфигурационная директива variables_order не содержит символ
E. В Windows, если в окружение не будет скопирована переменная окруженияSYSTEMROOT, то PHP будет испытывать проблемы при загрузке Winsock.