(PHP 4, PHP 5)
mysql_connect — Öffnet eine Verbindung zu einem MySQL-Server
Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen bietet der Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:
$server = ini_get("mysql.default_host"),$username = ini_get("mysql.default_user"),$password = ini_get("mysql.default_password"),$new_link = false,$client_flags = 0Öffnet eine neue Verbindung zu einem MySQL-Server oder verwendet eine bestehende.
serverDer 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 immer der Wert 'localhost:3306' verwendet.
usernameDer Benutzername. Der Standardwert ist durch mysql.default_user definiert. Bei SQL safe mode wird dieser Parameter ignoriert und der Name des Benutzers verwendet, dem der Prozess gehört.
passwordDas Passwort. Der Standardwert ist durch mysql.default_password definiert. Bei SQL safe mode wird dieser Parameter ignoriert und ein leeres Passwort verwendet.
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 Verbindungskennung
der schon bestehenden Verbindung zurückgegeben. 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 Parameter ignoriert.
client_flags
Der Parameter client_flags kann eine Kombination
der folgenden Konstanten sein: 128 (aktiviert die Verwendung von
LOAD DATA LOCAL),
MYSQL_CLIENT_SSL,
MYSQL_CLIENT_COMPRESS,
MYSQL_CLIENT_IGNORE_SPACE und
MYSQL_CLIENT_INTERACTIVE. Lesen sie den Abschnitt
über MySQL-Client-Konstanten für weitergehende
Informationen. Bei SQL safe mode wird dieser Parameter ignoriert.
Gibt im Erfolgsfall eine MySQL-Verbindungskennung zurück.
Bei einem Fehler wird false zurückgegeben.
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 Verwendung der
hostname:port-Syntax
<?php
// Verbindung 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 Verwendung 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 mit einem lokalen Socket (named pipe unter Windows) zu verbinden. Wenn Sie TCP/IP verwenden möchten, verwenden sie "127.0.0.1" statt "localhost". Wenn die MySQL-Client-Bibliothek versucht, sich mit dem falschen lokalen Socket zu verbinden, sollte der korrekte Pfad in der php.ini als mysql.default_host geetzt werden und das Server-Feld leergelassen werden.
Hinweis:
Die Verbindung zum Server wird geschlossen, sobald die Ausführung des Skripts endet, außer sie wurde zuvor explizit durch den Aufruf von mysql_close() geschlossen.
Hinweis:
Error "Can't create TCP/IP socket (10106)" deutet meist darauf hin, dass die Konfigurationsanweisung variables_order das Zeichen
Enicht enthält. Wird unter Windows die Umgebung nicht kopiert, ist die UmgebungsvariableSYSTEMROOTnicht verfügbar und PHP wird Schwierigkeiten haben, Winsock zu laden.