- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy S23 Ultra - non plus ultra
- MIUI / HyperOS topik
- Újra kapható lesz az Xperia 1 VII Európában
- Fotók, videók mobillal
- iPhone topik
- Honor 200 Pro - mobilportré
- Android szakmai topik
- Apple Watch Sport - ez is csak egy okosóra
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
Új hozzászólás Aktív témák
-
DNReNTi
őstag
Haló,
Egy elég összetett kérdésem van. Készítettem magamnak egy lekérdezéseket kezelő osztályt mysqli-hez, amely megkönnyíti a lekérdezések használatát, valamint minden esetben (akkor is ha nem kell (igen tudom... mindig kell)) prepared statements-t használ.
Így néz ki a dolog jelenleg:
Két osztályom van, egy ami a kapcsolatot létrehozza, egy meg a lekérdezést intézi:
1. Database_Connection osztály
A kapcsolathoz szükséges privát statikus változókkal, openConnection() nevű statikus metódussal. Ez vagy hibát, vagy optimális esetben egy mysqli példányt ad vissza.
2. Database osztály
A konstruktor:
$this->_DB_Connect = Database_Connection::openConnection();
Létrehozza a kapcsolat privát példányát.
A destruktor:
$this->_DB_Connect->close();
Jelenleg egyetlen metódussal rendelkezik: executeSQL($SQL_command = NULL, $SQL_parameters = array()).
A dolog tökéletesen működik így, akár függvényeken, osztályokon belül használom, akár "simán".Egy egyszerű példa:
$DB = new Database();
$SQL_command = 'SELECT name FROM useres WHERE id = ? AND verified = ? AND active = ?';
$SQL_parameters = array(23,1,1);
try {
$DB->executeSQL($SQL_command, $SQL_parameters);
} catch (Exception $e) {
echo 'ERROR : ' . $e->getMessage() . '<br>';
}A kérdéseim:
Jó e ez a logika, a felépítés? Ha nem, akkor hogyan lehetne, jobban, szebben felépíteni? Szükség van a destruktorra? Ha nincs, ártani árt e ha marad? Érdemes e szétszedni több metódusra a lekérdezéseket? Jelenleg az executeSQL() önmagán belül felismeri milyen parancsot kapott, megfelelőek e paraméterei, ésatöbbi, ha nem elszáll kivétellel, ha minden oké akkor pedig visszatér egy tömbbel.Igen, tudom valószínűleg van már erre lib ami jobb, szebb, okosabb és mér nem azt használom. Azért mert meg akarom érteni.
Thx
Új hozzászólás Aktív témák
- Garanciális Gamer Számítógép, PC (RTX 3060Ti, I5-10400, 16GB Ram, SSD) Beszámítás! Posta ok! (37)
- Garanciális Gamer Számítógép, PC (GTX 1070 8GB, I3-10105, 16GB Ram, SSD) Beszámítás! Posta ok! (36)
- SAPPHIRE Radeon RX 6650 XT PULSE 8GB + 1 év gari
- Bomba ár! Lenovo ThinkPad T420 - i5-2GEN I 4GB I 320GB I 14" HD I Cam I W10 I Garancia!
- Bomba ár! HP ProBook 645 G1 - AMD A6-5350M I 8GB I 500GB I 14" HD I Cam I W10 I Garancia!
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- Dell Optiplex 7050 SFF + Quadro K620
- Apple iPhone 8 64GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! HP Elitebook 840 G1 - i5-4GEN I 8GB I 180GB SSD I 14" HD+ I Cam I W10 I Garancia!
- GYÖNYÖRŰ iPhone 12 mini 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3201, 100% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest