Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

mysql_pconnect

MySQL-Funktionen

    Befehl:
resource mysql_pconnect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, int $client_flags ]]]] )


    Parameter-Liste:
NameBeschreibung
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 der Wert 'localhost:3306' immer genutzt.
usernameDer 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.
passwordDass Passwort. Der Standardwert ist durch mysql.default_password definiert. Bei SQL safe mode wird dieser Parameter ignoriert und ein leeres Passwort genutzt.
new_linkFü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_flagsDer 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.

    Beschreibung:
Baut eine persistente Verbindung zu einem MySQL Server auf.

mysql_pconnect() verhält sich weitgehend wie mysql_connect() mit zwei grossen Unterscheden.

Erstens: vor dem Verbindungsaufbau wird zunächst versucht eine offene (persistente) Verbindung zum gleichen Host, mit dem gleichen Benutzernamen und Benutzerkennwort zu finden. Wenn das gelingt, wird die Verbindungskennung dieser Verbindung zurückgeliefert anstatt eine neue Verbindung aufzubauen.

Zweitens: die Verbindung zum SQL Server wird beim Beenden des PHP-Skripts nicht geschlossen. Sie bleibt zur zukünftigen Verwendung bestehen. (mysql_close() schliesst keine von mysql_pconnect() geöffneten Verbindungen).

Deshalb wird dieser Verbindungstyp 'persistent' genannt.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

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

Die Verbindung zum Server wird, sobald die Ausführung des Skripts endet, geschlossen, ausser sie wurde zuvor exlizit durch den Aufruf von mysql_close() geschlossen.

Sie können die Fehlermeldungen bei Fehlern durch Voranstellen von einem @ an den Funktions Namen unterdrücken.
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.


    Siehe auch:
Öffnet eine Verbindung zu einem MySQL-Server Persistent Database Connections
 
Öffnet eine persistente Verbindung zum MySQL Server
 
Schliesst eine Verbindung zu MySQL
 

mysql_connect() - Beispiel:


Eingabe:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Verbindung schlug fehl: ' . mysql_error());
}
echo 'Erfolgreich verbunden';
mysql_close($link);
?>


Beschreibung:
Beachten Sie, dass diese Art der Verbindung nur funktioniert. wenn Sie PHP als Modul-Version benutzen. F�r mehr Informationen schauen Sie unter Persistente Datenbankverbindungen nach.


Die Verwendung von persistenten Verbindungen verlangt unter Umst�nden eine feinere Abstimmung der Konfiguration von Apache und MySQL. Dadurch sollten Sie sicherstellen, dass Sie die Anzahl der Verbindungen, die MySQL maximal erlaubt, nicht �berschreiten.

Beschreibung:
Version Beschreibung
5.5.0 Diese Funktion ist eine E_DEPRECATED Fehler.
4.3.0 Der client_flags Parameter wurde hinzugefügt.
4.2.0 Der new_link Parameter wurde hinzugefügt.
mysql_connect() - Beispiel unter Nutzung der hostname:port Syntax


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


Beschreibung:
Version Beschreibung
5.5.0 Diese Funktion ist eine E_DEPRECATED Fehler.
4.3.0 Der client_flags Parameter wurde hinzugefügt.
4.2.0 Der new_link Parameter wurde hinzugefügt.
mysql_connect() - Beispiel unter Nutzung der ":/path/to/socket" Syntax


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


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


Sie k�nnen die Fehlermeldungen bei Fehlern durch Voranstellen von einem @ an den Funktions Namen unterdr�cken.

Beschreibung:
Version Beschreibung
5.5.0 Diese Funktion ist eine E_DEPRECATED Fehler.
4.3.0 Der client_flags Parameter wurde hinzugefügt.
4.2.0 Der new_link Parameter wurde hinzugefügt.
MySQL-Funktionen