MySQL adatbáziskapcsolat lezárása PHP-ban (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
Egy korábbi leckében már foglalkoztunk a MySQL adatbázis-műveletekkel PHP-ban, de ebben a cikkben sokkal részletesebben kifejtjük egyes adatbázis-műveletek megvalósítását. Az előző PHP leckében csak az objektumorientált módszert mutattuk be az egyes MySQL adatbázis műveletek megvalósításához, de ebben a cikkben mutatunk példát a procedurális és PDO módszerre is.
Ebben a cikkben már nem ismertetjük az adatbázis és a MySQL fogalmát, ha ezekről is szeretnél többet tudni, akkor olvasd el a korábbi PHP-MySQL leckénket.
Az előző leckében létrehoztunk egy MySQL kapcsolatot, ebben pedig megmutatjuk, hogy hogyan tudjátok lezárni a már létező, nyitott adatbáziskapcsolatot.
Mi az a MySQLi?
A MySQLi a PHP5-tel megjelenő modul, amely felületet biztosít az adatbázisszerverekkel végzett műveletek végrehajtásának. Lehetővé teszi a procedurális és az objektumorientált megvalósítást is. Ezt a modul a PHP telepítésekor általában automatikusan települ a számítógépekre. (Ha valakinek mégsem történt volna meg, akkor itt letöltheti és telepítheti.)
A MySQLi bővítmény előnyei:
- támogatja az objektumorientált megvalósítást
- támogatja a procedurális interfészt
- támogatja az előkészített utasításokat
- támogatja a nyomkövetést
- támogatja a hibakeresést
Mi az a PDO?
A PDO a PHP Data Objects angol szónak a rövidítése, jelentése körülbelül PHP Adatobjektumok. A PDO egy olyan objektum, amelynek célja az adatbázis kapcsolatok és lekérdezések egyszerűbb kezelhetősége. A PDO több különböző adatbázis rendszerrel képes működni, így az igazi előnye, akkor jön elő, amikor szeretnénk lecserélni egy már létező adatbázisszerverünk egy más típusúra. A PDO használatával csak apróbb módosításokat kell tennünk a kódban.
A PDO által kínált lehetőségek:
- támogatja az objektumorientált megvalósítást
- támogatja az előkészített utasításokat
- védelmi funkciókat nyújt
Mi az az objektumorientált programozás?
Az objektumorientált programozás (angolul object-oriented programming, röviden OOP) egy az objektumokra alapozott programozási szemlélet. Az objektumok egységbe foglalják az adatokat és a velük kapcsolatos műveleteket. Az adatokat tulajdonságoknak, míg a műveleteket függvényeknek, metódusoknak nevezzük. Az objektum az objektumorientált programozás alapeleme.
Mi az a procedurális programozás?
A procedurális programozás (vagy eljárás orientált programozás) egy programozási alapelv, melynek alapja a modularitás és a hatókör. A procedurális programozás során azt az alapelvet követjük, hogy a konkrét programozási feladatot minél több kisebb egységre, avagy eljárásra tudjuk bontani. Ezek az eljárások a kódban jól körülhatárolt egységek, melyeket függvénynek vagy metódusnak nevezünk. Egy eljárásnak van elnevezése és olykor visszatérési értéke is. Az eljárás valamilyen műveletet hajt végre. A program futása során a főprogramban ezeket az elkészített eljárásokat hívjuk meg.
MySQL adatbáziskapcsolat lezárása PHP-ban objektumorientált módon (CLOSE) szintaktika
Elsőként vizsgáljuk meg a MySQL adatbáziskapcsolat lezárását, bezárást objektumorientáltan megvalósítva.
KAPCSOLAT->close();
Code language: PHP (php)
A kapcsolatunkra kiadjuk a „close()” utasítást.
MySQL adatbáziskapcsolat lezárása, bezárása objektumorientáltan PHP nyelv alatt
PHP kód
<?php
// adatok felvétele a kapcsolathoz
$servername = "localhost";
$username = "felhasznalo";
$password = "jelszo";
$conn = new mysqli($servername, $username, $password); // kapcsolat létrehozása
// kapcsolódás ellenőrzése
if ($conn->connect_error) {
die("Sikertelen kapcsolódás: " . $conn->connect_error); // sikertelen kapcsolódás
} else {
echo "Sikeres kapcsolódás."; // sikeres kapcsolódás
}
// kapcsolat lezárása
$conn->close();
?>
Code language: PHP (php)
A „$conn” változóba hoztuk létre a kapcsolatot, majd erre is adjuk ki a „close()” utasítást.
MySQL adatbáziskapcsolat bezárása PHP-ban procedurális módon (close) szintaxis
A procedurális megvalósításnál a „close” szó elé bebiggyesztünk egy „mysqli_” szöveget. A zárójelek közé a bezárandó kapcsolatot kell megadnunk.
mysqli_close(KAPCSOLAT);
Code language: PHP (php)
MySQL adatbáziskapcsolat lezárása, bezárása procedurálisan PHP nyelv alatt
PHP kód
<?php
// adatok felvétele a kapcsolathoz
$servername = "localhost";
$username = "felhasznalo";
$password = "jelszo";
$conn = mysqli_connect($servername, $username, $password); // kapcsolat létrehozása
// kapcsolódás ellenőrzése
if ($conn) {
echo "Sikeres kapcsolódás."; // sikeres kapcsolódás
} else {
die("Sikertelen kapcsolódás: " . $mysqli_connect_error()); // sikertelen kapcsolódás
}
mysqli_close($conn); // kapcsolat lezárása
?>
Code language: PHP (php)
A $conn változó tárolja a kapcsolatunkat, így a „mysqli_close()” függvény ezt kapja meg paraméterként.
MySQL adatbáziskapcsolat bezárása PHP-ban PDO segítségével (close) szintaxis
Legvégül pedig nézzük meg a PDO-s megoldást.
KAPCSOLAT = null;
Code language: PHP (php)
Itt nem kell mást tennünk, mint egy „null” értékkel felülírnunk a kapcsolatunkat.
MySQL adatbáziskapcsolat lezárása, bezárása PDO-val PHP nyelvben
PHP kód
<?php
// adatok felvétele a kapcsolathoz
$servername = "localhost";
$username = "felhasznalo";
$password = "jelszo";
$dbname = "adatbazis"
// megpróbálunk csatlakozni a "try"-ban, ha nem sikerül, akkor elkapjuk a hibát a "catch"-ben
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // PDO kapcsolat létrehozása
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // hibakezelés beállítása
echo "Sikeres művelet.";
} catch (PDOException $e) {
echo "Sikertelen művelet.: " . $e->getMessage();
}
$conn = null; // kapcsolat lezárása
?>
Code language: PHP (php)
A „$conn” változó tárolja a PDO kapcsolatunkat, így ennek az értékét kell felülírnunk „null” értékkel.