(PHP 4, PHP 5)
mysql_connect — Установява връзка с MySQL сървър
Установява или използва повторно връзка с MySQL сървър.
MySQL сървърът. Може да включва номер на порт, във формат "hostname:port" или път до локалния сокет, във формат ":/path/to/socket" при localhost.
Ако директивата на PHP mysql.default_host е недефинирана (по подразбиране), тогава стойността по подразбиране е 'localhost:3306'. В защитен SQL режим този параметър се игнорира и вместо него се използва винаги стойността localhost:3306'.
Потребителското име. Стойността по подразбиране се указва чрез mysql.default_user. В защитен SQL режим този параметър се игнорира и вместо него се използва името на потребителя, който е собственик на сървърния процес.
Паролата. Стойността по подразбиране се указва чрез mysql.default_password. В защитен SQL режим този параметър се игнорира и вместо него се използва празна парола.
Ако mysql_connect() се извика повторно, със същите параметри, няма да бъде създадена нова връзка, а просто ще бъде върнат същия идентификатор на връзката. Параметърът new_link променя това поведение и принуждава mysql_connect() винаги да създава нова връзка, дори и ако mysql_connect() е извикана преди със същите параметри. В защитен SQL режим този параметър се игнорира.
Параметърът client_flags може да приема комбинация от следните константи: 128 (включва обработката на LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE или MYSQL_CLIENT_INTERACTIVE. За повече информация се обърнете към раздела Предварително-дефинирани константи. за повеч В защитен SQL режим този параметър се игнорира.
При успех връща идентификатора на връзката с MySQL сървъра. При неуспех връща FALSE.
Версия | Описание |
---|---|
4.3.0 | Добавен е параметърът client_flags . |
4.2.0 | Добавен е параметърът new_link . |
Example #1 Пример за mysql_connect()
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Връзката не може да бъде установена: ' . mysql_error());
}
echo 'Връзката е установена успешно';
mysql_close($link);
?>
Example #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);
?>
Example #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);
?>
Забележка: Независимо дали за сървър указвате "localhost" или "localhost:port", клиентската библиотека на MySQL ще препокрие това и ще се опита да се свърже към локален сокет (named pipe при Windows). Ако искате да използвате TCP/IP, укажете "127.0.0.1" вместо "localhost". Ако клиентската библиотека на MySQL се опитва да се свърже към погрешен локален сокет, трябва да укажете правилния път посредством Конфигурация по време на работа в конфигурационния файл и да оставите празно полето за указване на сървър.
Забележка: Връзкта към сървъра ще бъде прекъсната в момента в който спре изпълнението на скрипта, освен ако не е прекъсната по-рано, чрез функция mysql_close().
Забележка: Можете да потиснете извеждането на съобщението за грешка, като поставите символа @ пред името на функцията.
Забележка: Грешката "Can't create TCP/IP socket (10106)" обикновено означава, че конфигурационната директива variables_order не съдържа знака E. При Windows, ако oбкръжението не е копирано, променливата от обкръжението SYSTEMROOT няма да бъде достъпна и ще възникат проблеми при зареждането на Winsock от страна на PHP.