Hirdetés
- Fotók, videók mobillal
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Honor Magic V5 - méret a kamera mögött
- Xiaomi 15T Pro - a téma nincs lezárva
- Hivatalos a OnePlus 13 startdátuma
- One mobilszolgáltatások
- Yettel topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
Ú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
- Formula-1
- PayPal
- Opel topik
- Kuponkunyeráló
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kínai és egyéb olcsó órák topikja
- exHWSW - Értünk mindenhez IS
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- Milyen videókártyát?
- További aktív témák...
- BESZÁMÍTÁS! Sony PlayStation 5 Slim 1TB SSD Lemezes konzol Elite kontrollerrel garanciával hibátlan
- BESZÁMÍTÁS! Sony PlayStation 5 825GB SSD lemezes konzol garanciával hibátlan működéssel
- BESZÁMÍTÁS! Sony PlayStation 5 Slim 1TB SSD digital konzol garanciával hibátlan működéssel
- BESZÁMÍTÁS! Dell Precision 5540 notebook - i9 9880H 64GB DDR4 2TB SSD nVidia Quadro T2000 4GB W11
- BESZÁMÍTÁS! MSI ThinA15 B7VF-449XHU Gamer notebook - R7 7735HS 16GB DDR5 1TB SSD nVidia RTX 4060 8GB
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 - 4 ÉV GARANCIA!
- Újabb 20 db Lenovo ThinkPad X1 Yoga G6 (6th Gen) - i7-1185G7, 32GB, 512GB SSD, multitouch + TOLL
- Panasonic CF-20 ütésálló, ipari notebook & tablet számlával, garanciával
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3407, 100% Akksi
- Bomba ár! Dell Latitude E5550 - i5-5GEN I 8GB I 128GB SSD I 15,6" FHD I W11 I HDMI I Cam I Gari!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő



