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 finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. 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

Öffnet eine neue Verbindung (oder nutzt bestehende) zu einem mySQL Server.

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

Rückgabewerte

Gibt eine MySQL Verbindungs-Kennung im Erfolgsfall zurück oder Im Fehlerfall wird FALSE zurückgegeben..

Changelog

Version Beschreibung
5.5.0 Die Funktion erzeugt einen Fehler der Stufe E_DEPRECATED.

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

Anmerkungen

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 explizit 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 darauf 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 Schwierigkeiten haben, Winsock zu laden.

Siehe auch