mysql_connect

(PHP 4, PHP 5)

mysql_connectОткрывает соединение с сервером MySQL

Внимание

Данный модуль устарел начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для этой функции:

Описание

mysql_connect(
    string $server = ini_get("mysql.default_host"),
    string $username = ini_get("mysql.default_user"),
    string $password = ini_get("mysql.default_password"),
    bool $new_link = false,
    int $client_flags = 0
): resource|false

Открывает новое соединение с сервером MySQL или использует уже существующее.

Список параметров

server

Сервер MySQL. Может также включать номер порта, например, "hostname:port" или путь к локальному сокету, например, ":/path/to/socket" для локального сервера.

Если PHP-директива mysql.default_host не определена (по умолчанию), то значением по умолчанию является 'localhost:3306'. В SQL safe mode этот параметр игнорируется и всегда используется значение 'localhost:3306'.

username

Имя пользователя. Значение по умолчанию определяется директивой mysql.default_user. В SQL safe mode этот параметр будет проигнорирован и будет использован пользователь, владеющий процессом сервера.

password

Пароль. Значение по умолчанию определяется директивой mysql.default_password. В SQL safe mode этот параметр будет проигнорирован и в качестве пароля будет использована пустая строка.

new_link

Если второй вызов функции mysql_connect() произошёл с теми же аргументами, то новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. В SQL safe mode этот параметр игнорируется.

client_flags

Параметр client_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.

Смотрите также

  • mysql_pconnect() - Устанавливает постоянное соединение с сервером MySQL
  • mysql_close() - Закрывает соединение с сервером MySQL