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

# mysql_connect

(PHP 4, PHP 5)

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

Внимание

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

- mysqli_connect()
- PDO::__construct()

### Описание

function 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open