(PHP 4, PHP 5)
mysql_connect — Otwiera połączenie do serwera MySQL
$serwer
= ini_get("mysql.default_host")
[, string $nazwa_użytkownika
= ini_get("mysql.default_user")
[, string $hasło
= ini_get("mysql.default_password")
[, bool $nowe_połączenie
= false
[, int $flagi_klienta
= 0
]]]]] )Otwiera lub ponownie używa połączenie do serwera MySQL.
serwer
Serwer MySQL. Może także zawierać numer portu np. "nazwa_serwera:port" lub ścieżkę do lokalnego gniazda np. ":/ścieżka/do/gniazda" dla lokalnego hosta.
Jeśli, dyrektywa PHP mysql.default_host jest nie zdefiniowana (domyślnie), wtedy domyślną wartością jest 'localhost:3306'. W tryb bezpieczny SQL, ten parametr jest ignorowany i zawsze jest używana wartość 'localhost:3306'.
nazwa_użytkownika
Nazwa użytkownika. Domyślna watość jest definiowana przez mysql.default_user. W tryb bezpieczny SQL, parametr ten jest ignorowany i używana jest nazwa użytkownika, który jest właścicielem procesu serwera.
hasło
Hasło. Domyślna wartość jest zdefiniowana przez mysql.default_password. W tryb bezpieczny SQL, ten parametr jest ignorowany i użyte jest puste hasło.
nowe_połączenie
Jeśli, ponownie wywołamy mysql_connect()
z tymi samymi argumentami, nie zostanie nawiązane nowe połączenie, lecz
zamiast tego, zostanie zwrócony identyfikator obecnie otwartego połączenia.
Parametr nowe_połączenie
modyfikuje to
zachowanie i sprawia, że mysql_connect() zawsze otwiera
nowe połączenie, nawet jeśli mysql_connect() zostało wywołane
wcześniej z tymi samymi parametrami.
W tryb bezpieczny SQL, ten parametr jest ignorowany.
flagi_klienta
Parametr flagi_klienta
może być kombinacją
następujących stałych:
128 (włącza obsługę LOAD DATA LOCAL),
MYSQL_CLIENT_SSL
,
MYSQL_CLIENT_COMPRESS
,
MYSQL_CLIENT_IGNORE_SPACE
lub
MYSQL_CLIENT_INTERACTIVE
.
Przeczytaj sekcję o MySQL client constants w celu dalszych informacji.
W tryb bezpieczny SQL, ten parametr jest ignorowany.
Zwraca identyfikator połączenia MySQL w przypadku sukcesu, lub FALSE
w przypadku niepowodzenia
Wersja | Opis |
---|---|
4.3.0 |
Dodano parametr flagi_klienta .
|
4.2.0 |
Dodano parametr nowe_połączenie .
|
Przykład #1 Przykład mysql_connect()
<?php
$link = mysql_connect('localhost', 'użytkownik_mysql', 'hasło_mysql');
if (!$link) {
die('Nie można się połaczyć: ' . mysql_error());
}
echo 'Połączenie nawiązane';
mysql_close($link);
?>
Przykład #2 Przykład mysql_connect() z użyciem składni nazwa_hosta:port
<?php
// połączymy się do example.com i portu 3307
$link = mysql_connect('example.com:3307', 'użytkownik_mysql', 'hasło_mysql');
if (!$link) {
die('Nie można się połączyć: ' . mysql_error());
}
echo 'Połączenie nawiązane';
mysql_close($link);
// połączymy się do localhost na port 3307
$link = mysql_connect('127.0.0.1:3307', 'użytkownik_mysql', 'hasło_mysql');
if (!$link) {
die('Nie można się połączyć: ' . mysql_error());
}
echo 'Połączenie nawiązane';
mysql_close($link);
?>
Przykład #3 mysql_connect() przykład użycia składni ":/ścieżka/do/gniazda"
<?php
// połączymy się do lokalhost i gniazda np. /tmp/mysql.sock
//wariant 1: z pominięciem localhost
$link = mysql_connect(':/tmp/mysql', 'użytkownik_mysql', 'hasło_mysql');
if (!$link) {
die('Nie można się połączyć: ' . mysql_error());
}
echo 'Połączenie nawiązane';
mysql_close($link);
// wariant 2: z localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'użytkownik_mysql', 'hasło_mysql');
if (!$link) {
die('Nie można się połączyć: ' . mysql_error());
}
echo 'Połączenie nawiązane';
mysql_close($link);
?>
Informacja:
Ilekroć określasz serwer jako "localhost" lub "localhost:port", biblioteka kliencka MySQL nadpisze to i spróbuje połączyć się do lokalnego gniazda (nazwanego potokiem w Windows). Jeśli chcesz użyć TCP/IP, użyj "127.0.0.1" zamiast "localhost". Jeśli biblioteka kliencka MySQL próbuje połączyć się do niewłaściwego lokalnego gniazda, powinieneś ustawić prawidłową ścieżkę jako w Twojej konfiguracji PHP i zostawić puste pole serwer.
Informacja:
Połączenie do serwera zostanie zamknięte jak tylko wykonywanie skryptu zakończy się, chyba, że zostanie wcześniej zamknięte poprzez wyraźne wywołanie mysql_close().
Informacja:
Możesz zapobiec informacją o błędach w przypadku niepowodzenia za pomocą poprzedzenia nazwy funkcji @.
Informacja:
Błąd "Can't create TCP/IP socket (10106)" zwykle oznacza, że dyrektywa konfiguracyjna variables_order nie zawiera znaku E. Pod Windows, jeśli środowisko nie jest skopiowane zmienna środowiskowa SYSTEMROOT nie będzie dostępna i PHP będzie mieć problemy aby załadować Winsock.