mysql_connect
(PHP 4, PHP 5)
mysql_connect — Открывает соединение с сервером MySQL
Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
Описание
$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
orMYSQL_CLIENT_INTERACTIVE
. Подробнее читайте в разделе Клиентские константы MySQL. В SQL safe mode этот параметр игнорируется.
Возвращаемые значения
Возвращает дескриптор соединения с MySQL в случае успешного
выполнения или false
в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
5.5.0 |
Функция вызывает ошибку E_DEPRECATED .
|
Примеры
Пример #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, после чего можно оставлять параметр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