Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

mysqli_real_connect

MySQLi Funktionen

    Befehl:
bool mysqli_real_connect ( mysqli $link [, string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

bool mysqli::real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )


    Parameter-Liste:
NameBeschreibung
linkNur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.
hostKann entweder ein Hostname oder eine IP-Adresse. Vorbei an der NULL Wert oder die Zeichenkette "localhost" auf diesen Parameter, wird der lokale Host angenommen. Wenn möglich, werden Rohre anstelle des TCP / IP-Protokoll verwendet werden.
usernameDer Benutzername MySQL.
passwdWenn vorhanden oder NULL, wird der MySQL-Server versuchen, den Benutzer gegen diese Benutzerdatensätze, die nur kein Kennwort authentifizieren. Dies ermöglicht einen Benutzernamen mit unterschiedlichen Berechtigungen (je nachdem, ob ein Passwort angeben oder nicht) verwendet werden.
dbnameWenn vorhanden, wird angegeben, die Standarddatenbank bei der Durchführung von Abfragen verwendet werden.
portGibt die Portnummer, zu versuchen, mit dem MySQL-Server zu verbinden.
socketGibt den Socket oder die Named Pipe, die verwendet werden sollen.
Die Angabe der Buchse-Parameter werden nicht explizit die Art der Verbindung für die Verbindung mit dem MySQL-Server verwendet werden, zu bestimmen. Wie die Verbindung zur MySQL-Datenbank hergestellt wird durch die Host-Parameter bestimmt.
flagsMit den Parameter flags können Sie verschiedene Verbindungsoptionen ein:
Unterstützte flags
NameBeispiel
MYSQLI_CLIENT_COMPRESSVerwenden Kompressionsprotokoll
MYSQLI_CLIENT_FOUND_ROWSzurück Anzahl der gefundenen Zeilen, nicht die Anzahl der betroffenen Zeilen
MYSQLI_CLIENT_IGNORE_SPACELeerzeichen nach Funktionsnamen lassen. Macht alle Funktionsnamen reservierte Wörter.
MYSQLI_CLIENT_INTERACTIVEinteractive_timeout Sekunden (statt wait_timeout Sekunden) der Inaktivität lassen, bevor die Verbindung
MYSQLI_CLIENT_SSLVerwenden Sie SSL (Verschlüsselung)

    Rückgabewerte:
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

    Beschreibung:
Stellt eine Verbindung zu einer MySQL-Datenbank-Engine.
Diese Funktion unterscheidet sich von mysqli_connect():
  • mysqli_real_connect() benötigt ein gültiges Objekt, das durch die Funktion erstellt werden mysqli_init() hat.
  • Mit mysqli_options()-Funktion können Sie verschiedene Optionen für die Verbindung ein.
  • Es ist ein flags-Parameter.


    Aktiv in Version:
(PHP 5, PHP 7)

    Hinweis:
Hinweis:

>MySQLnd nimmt immer den Standardzeichensatz des Servers an. Dieser Zeichensatz wird während des Aufbaus der Verbindung bzw. der Authentifizierung übermittelt und danach von MySQLnd verwendet.
Libmysql verwendet als Standardzeichensatz den, der in der Datei my.cnf angegeben oder durch einen Aufruf von mysqli_options() vor dem Aufruf von mysqli_real_connect() aber nach mysqli_init() gesetzt wurde.


    Siehe auch:
Alias von mysqli::__construct
 
Initialisiert MySQLi und gibt eine Ressource für die Verwendung mit mysqli_real_connect()
 
Stellen Sie die Optionen
 
zum Aufbau sicherer Verbindungen über SSL Gebraucht
 
Schliesst eine zuvor geöffnete Datenbankverbindung
 

mysqli_real_connect() - Beispiel: Objektorientierter Stil

(mysqli::real_connect)


Eingabe:
<?php

$mysqli = mysqli_init();
if (!$mysqli) {
    die('mysqli_init failed');
}

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>


Ausgabe:
Success... MySQL host info: localhost via TCP/IP
mysqli_real_connect() - Beispiel 2: Objektorientierter Stil bei der Erweiterung mysqli-Klasse

(mysqli::real_connect)


Eingabe:
<?php
class foo_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::init();

        if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
            die('Setting MYSQLI_INIT_COMMAND failed');
        }

        if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
            die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
        }

        if (!parent::real_connect($host, $user, $pass, $db)) {
            die('Connect Error (' . mysqli_connect_errno() . ') '
                    . mysqli_connect_error());
        }
    }
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Success... ' . $db->host_info . "\n";

$db->close();
?>


Ausgabe:
Success... MySQL host info: localhost via TCP/IP
mysqli_real_connect() - Beispiel 3: Prozeduraler Stil

(mysqli::real_connect)


Eingabe:
<?php
$link = mysqli_init();
if (!$link) {
    die('mysqli_init failed');
}

if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>


Ausgabe:
Success... MySQL host info: localhost via TCP/IP
MySQLi Funktionen