(PHP 4, PHP 5)
mysql_connect — Öffnet eine Verbindung zu einem MySQL-Server
$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
]]]]] )Öffnet eine neue Verbindung (oder nutzt bestehende) zu einem mySQL Server.
server
Der MySQL Server. Er kann zudem eine Portnummer enthalten, z.B. "hostname:port" oder den Pfad zu einem lokalen Socket z.B. ":/pfad/zum/socket" für Zugriffe auf dem lokalen Rechner (localhost).
Wenn die PHP Direktive mysql.default_host nicht definiert ist (Standard), ist der Vorgabewert 'localhost:3306'. Bei SQL safe mode wird dieser Paramter ignoriert und der Wert 'localhost:3306' immer genutzt.
username
Der Nutzername. Der Standardwert ist durch mysql.default_user definiert. Bei SQL safe mode wird dieser Parameter ignoriert und der Name des Nutzers, dem der Prozess gehört, genutzt.
password
Dass Passwort. Der Standardwert ist durch mysql.default_password definiert. Bei SQL safe mode wird dieser Parameter ignoriert und ein leeres Passwort genutzt.
new_link
Für den Fall, dass ein zweiter Aufruf von
mysql_connect() mit den gleichen Argumenten
erfolgt, wird keine neue Verbindung aufgebaut, sondern die
Verbindungs-Kennung der schon bestehenden Verbindung zurückgeliefert.
Der Parameter new_link
beeinflusst dieses
Verhalten und mysql_connect() öffnet immer eine neue
Verbindung, sogar dann, wenn mysql_connect() zu einem
früheren Zeitpunkt mit den gleichen Parametern aufgerufen wurde.
Bei SQL safe mode wird dieser Parametern ignoriert.
client_flags
Der Parameter client_flags
kann eine Kombination
der folgenden Konstanten sein:
128 (erlaube LOAD DATA LOCAL Nutzung),
MYSQL_CLIENT_SSL
,
MYSQL_CLIENT_COMPRESS
,
MYSQL_CLIENT_IGNORE_SPACE
oder
MYSQL_CLIENT_INTERACTIVE
.
Lesen sie den Abschnitt über MySQL-Client Konstanten für
weitergehende Informationen.
Bei SQL safe mode wird dieser Parameter ignoriert.
Gibt eine MySQL Verbindungs-Kennung im Erfolgsfall zurück oder
Im Fehlerfall wird FALSE
zurückgegeben..
Version | Beschreibung |
---|---|
4.3.0 |
Der client_flags Parameter wurde hinzugefügt.
|
4.2.0 |
Der new_link Parameter wurde hinzugefügt.
|
Beispiel #1 mysql_connect() Beispiel
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>
Beispiel #2 mysql_connect() Beispiel unter Nutzung der hostname:port Syntax
<?php
// Verbing zu example.com auf Port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
// Verbindung zu localhost auf port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>
Beispiel #3 mysql_connect() Beispiel unter Nutzung der ":/path/to/socket" Syntax
<?php
// Verbing zu localhost und Socket z.B. /tmp/mysql.sock
// Variante 1: localhost weglassen
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
// Variante 2: mit localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>
Hinweis:
Immer wenn sie "localhost" oder "localhost:port" als Server angeben, wird die MySQL Client Bibliothek dies überschreiben und versuchen, sich zu einem lokalen Socket (named pipe unter Windows) zu verbinden. Wenn sie TCP/IP nutzen möchten, nutzen sie "127.0.0.1" anstatt "localhost". Wenn die MySQL Client Bibliothek versucht, sich zu dem falschen lokalen Socket zu verbunden, sollten sie den korrekten Pfad als in ihrer PHP Konfiguration setzen und das Server Feld leer lassen.
Hinweis:
Die Verbindung zum Server wird, sobald die Ausführung des Skripts endet, geschlossen, außer sie wurde zuvor exlizit durch den Aufruf von mysql_close() geschlossen.
Hinweis:
Sie können die Fehlermeldungen bei Fehlern durch Voranstellen von einem @ an den Funktions Namen unterdrücken.
Hinweis:
Error "Can't create TCP/IP socket (10106)" deutet meist daruf hin, dass die variables_order Konfigurations Anweisung nicht das E Zeichen enthält. Wird unter Windows die Umgebung nicht kopiert, ist die SYSTEMROOT Umgebungs Variable nicht verfügbar und PHP wird Sccwierigkeiten haben, Winsock zu laden.