- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: AMD Ryzen 7 7700X vs AMD Ryzen 9 9900X AIDA64, és PCMark 10 Benchmarkokban mérve
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- hcl: Linx 1010, a gagyi x86 tablet újjáéledése
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- sziku69: Szólánc.
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gban: Ingyen kellene, de tegnapra
Ú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
Hirdetés
- BESZÁMÍTÁS! Logitech G920 Driving Force Racing Wheel + Shifter garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: FOTC
Város: Budapest