mysql_connect
Данный модуль устарел, начиная с версии 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 или использует уже существующее.
Список параметров
Сервер MySQL. Может также включать номер порта, например, «hostname:port» или путь к локальному сокету, например, «:/path/to/socket» для локального сервера.
Если PHP-директива mysql.default_host не определена (по умолчанию), то значением по умолчанию является ‘localhost:3306’. В SQL safe mode этот параметр игнорируется и всегда используется значение ‘localhost:3306’.
Имя пользователя. Значение по умолчанию определяется директивой mysql.default_user. В SQL safe mode этот параметр будет проигнорирован и будет использован пользователь, владеющий процессом сервера.
Пароль. Значение по умолчанию определяется директивой mysql.default_password. В SQL safe mode этот параметр будет проигнорирован и в качестве пароля будет использована пустая строка.
Если второй вызов функции mysql_connect() произошёл с теми же аргументами, то новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. В SQL safe mode этот параметр игнорируется.
Параметр 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()
$link = mysql_connect ( ‘localhost’ , ‘mysql_user’ , ‘mysql_password’ );
if (! $link ) die( ‘Ошибка соединения: ‘ . mysql_error ());
>
echo ‘Успешно соединились’ ;
mysql_close ( $link );
?>?php
Пример #2 Пример использования mysql_connect() с синтаксисом hostname:port
// соединяемся с example.com на порту 3307
$link = mysql_connect ( ‘example.com:3307’ , ‘mysql_user’ , ‘mysql_password’ );
if (! $link ) die( ‘Ошибка соединения: ‘ . mysql_error ());
>
echo ‘Успешно соединились’ ;
mysql_close ( $link );
?php
// соединяемся с 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»
// соединяемся к localhost по сокету, т.е. /tmp/mysql.sock
?php
// вариант 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
mysql_connect
Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
Описание
resource 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 ]]]]] )
Открывает новое соединение с сервером MySQL или использует уже существующее.
Список параметров
Сервер MySQL. Может также включать номер порта, например, «hostname:port» или путь к локальному сокету, например, «:/path/to/socket» для локального сервера.
Если PHP-директива mysql.default_host не определена (по умолчанию), то значением по умолчанию является ‘localhost:3306’. В SQL safe mode этот параметр игнорируется и всегда используется значение ‘localhost:3306’.
Имя пользователя. Значение по умолчанию определяется директивой mysql.default_user. В SQL safe mode этот параметр будет проигнорирован и будет использован пользователь, владеющий процессом сервера.
Пароль. Значение по умолчанию определяется директивой mysql.default_password. В SQL safe mode этот параметр будет проигнорирован и в качестве пароля будет использована пустая строка.
Если второй вызов функции mysql_connect() произошёл с теми же аргументами, то новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. В SQL safe mode этот параметр игнорируется.
Параметр 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 в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
5.5.0 | Функция вызывает ошибку E_DEPRECATED . |
Примеры
Пример #1 Пример использования mysql_connect()
$link = mysql_connect ( ‘localhost’ , ‘mysql_user’ , ‘mysql_password’ );
if (! $link ) die( ‘Ошибка соединения: ‘ . mysql_error ());
>
echo ‘Успешно соединились’ ;
mysql_close ( $link );
?>?php
Пример #2 Пример использования mysql_connect() с синтаксисом hostname:port
// соединяемся с example.com на порту 3307
$link = mysql_connect ( ‘example.com:3307’ , ‘mysql_user’ , ‘mysql_password’ );
if (! $link ) die( ‘Ошибка соединения: ‘ . mysql_error ());
>
echo ‘Успешно соединились’ ;
mysql_close ( $link );
?php
// соединяемся с 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»
// соединяемся к localhost по сокету, т.е. /tmp/mysql.sock
?php
// вариант 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, после чего можно оставлять параметр 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