- Jó, jó, mechanikus billentyűzetet... de milyet?
- Milyen belső merevlemezt vegyek?
- 3D nyomtatás
- Acer notebook topic
- Fujifilm X
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Canon EOS DSLR topic
- BIOS frissítés
- Hobby elektronika
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
Ú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
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Nintendo Switch 2
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- OTP Bank topic
- Szinte csak formaság: bemutatkozott a Pixel 6 és Pixel 6 Pro
- Luck Dragon: Asszociációs játék. :)
- Jó, jó, mechanikus billentyűzetet... de milyet?
- Milyen belső merevlemezt vegyek?
- Hobby rádiós topik
- 3D nyomtatás
- További aktív témák...
- Xiaomi Redmi A3 64GB Kártyafüggetlen, 1Év Garanciával
- Beszámítás! Apple Mac mini 2020 M1 8GB 256GB SSD számítógép garanciával, hibátlan működéssel
- LG 55B4 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- 0% THM részletfizetés, beszámítás! ÚJ 27% 3 év AMD RX 7900 XT / 7900 XTX készletről KAMATMENTESEN!
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest