mysql_connect

(PHP 4, PHP 5)

mysql_connectÖffnet eine Verbindung zu einem MySQL-Server

Warnung

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:

Beschreibung

mysql_connect(
    string$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

Öffnet eine neue Verbindung zu einem MySQL-Server oder verwendet eine bestehende.

Parameter-Liste

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 immer der Wert 'localhost:3306' verwendet.

username

Der 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.

password

Das 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.

Rückgabewerte

Gibt im Erfolgsfall eine MySQL-Verbindungskennung zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

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);
?>

Anmerkungen

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 E nicht enthält. Wird unter Windows die Umgebung nicht kopiert, ist die Umgebungsvariable SYSTEMROOT nicht verfügbar und PHP wird Schwierigkeiten haben, Winsock zu laden.

Siehe auch

To Top