(PHP 5)
mysqli->real_connect() — Egy kapcsolatot nyit meg egy MySQL szerverhez
Eljárást használó stílus
Objektum-orientált stílus (metódus)
Egy kapcsolatot hoz létre egy MySQL adatbázismotorhoz.
Ez a függvény különbözik a mysqli_connect() függvénytől:
a mysqli_real_connect() valódi objektumot igényel, amit a mysqli_init() fügvénnyel kell lérehozni
a mysqli_options() függvénnyel különféle opciók adhatóak meg a kapcsolat számára
van egy flags paraméter.
Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()
Lehet hosztnév vagy IP cím. A NULL vagy "localhost" értékeket megadva a helyi hosztot veszi fel. Ha lehetséges, adatcsatornát (pipe) használ a TCP/IP protokoll helyett.
A MySQL felhasználónévT.
Ha nincs meg van adva, vagy NULL, akkor a MySQL szerver megpróbálja azonosítani a felhasználót azokkal a felhasználói rekordokkal, melyeknek nem kötelező jelszót megadni. Ez lehetővé teszi egy felhasználónév többféle használatát különböző jogosultságokkal (attól függ, hogy megadott-e jelszót, vagy nem).
Ha meg van adva, megszabja az alapértelmezett adatbázist, amin majd a kéréseket végrehajtja.
Megszabja a MySQL szerverhez való kapcsolódáskor használni kívánt port számát.
Megadja a használni kívánt socket-et vagy az elnevezett pipe-ot.
Note: A socket paramétert megadása nem fogja nyíltan meghatározni a MySQL szerverhez való csatlakozás során használni kívánt kapcsolat típusát. A MySQL adatbázishoz való kapcsolat a host paraméter segítségével lesz meghatározva.
A flags paraméterrel különféle kapcsolatopciók adhatóak meg:
Név | Leírás |
---|---|
MYSQLI_CLIENT_COMPRESS | Tömőrítő protokoll használata |
MYSQLI_CLIENT_FOUND_ROWS | az egyező sorok számát adja vissza, nem az érintettekét |
MYSQLI_CLIENT_IGNORE_SPACE | Engedélyezi a szóközöket a függvények nevei után. Minden függvénynév fentartott szó lesz. |
MYSQLI_CLIENT_INTERACTIVE | Engedélyezi a interactive_timeout-ot (a wait_timeout helyett) a kapcsolat bezárása előtti inaktivitási időként |
MYSQLI_CLIENT_SSL | SSL használata (titkosítás) |
Note: For security reasons the MULTI_STATEMENT flag is not supported in PHP. If you want to execute multiple queries use the mysqli_multi_query() function.
Siker esetén TRUE értékkel tér vissza, ellenkező esetben FALSE értéket ad.
Example#1 Objektum-orientált stílus
<?php
/* olyan kapcsolatobjektum létrehozás, ami még nem csatlakozott */
$mysqli = mysqli_init();
/* kapcsolat opcióinak megadása */
$mysqli->options(MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);
/* kapcsolódás a szerverhez */
$mysqli->real_connect('localhost', 'my_user', 'my_password', 'world');
/* kapcsolat ellenőrzése */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf ("Connection: %s\n.", $mysqli->host_info);
$mysqli->close();
?>
Example#2 Eljárást használó stílus
<?php
/* olyan kapcsolatobjektum létrehozás, ami még nem csatlakozott */
$link = mysqli_init();
/* kapcsolat opcióinak megadása */
mysqli_options($link, MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);
/* kapcsolódás a szerverhez */
mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'world');
/* kapcsolat ellenőrzése */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf ("Connection: %s\n.", mysqli_get_host_info($link));
mysqli_close($link);
?>
A fenti példa a következő kimenetet adja:
Connection: Localhost via UNIX socket