- gban: Ingyen kellene, de tegnapra
- hcl: Döglött tabletből wifis kijelző kókány
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Kempingezés és sátrazás
- sziku69: Szólánc.
- Mr.Csizmás: Bestbuy travel, utazós, kirándulós topic - szállások, jegyek
- GAI: 150k+
- votlage71: Kábel menedzsment
- Balázs2: Gmail
Hirdetés
Új hozzászólás Aktív témák
-
DNReNTi
őstag
válasz
Sk8erPeter #15477 üzenetére
Na hogy végre valami érdemi dologról legyen szó.
Elkészült az adatbázis kezelő "projektem" 1.2 verziója, az észrevételek figyelembevételével. Update-ek:
- Van konfigurációs osztály, amely később minden egyéb más konfigurációs feladatot elláthat. A getDatabaseConfiguration() metódus konfig fájlból beolvassa a szükséges adatokat, majd egy tömbben tér velük vissza.
- Ennek folyománya hogy megváltozott a kapcsolatot létrehozó osztály. első kérdés lehet miért szerepel benne az ini_set();. Sajnos ha a host rosszul van megadva a try ellenére is hibákkal bombáz szét a php, így viszont nem. Ezúttal csak a megjelenítés van kikapcsolva nem a reporting, ahogy Sk8erPeter írta korábban. Ha minden jól megy egy mysqli objektumot ad vissza, ha nem, akkor kivétellel elszáll, és átmenetileg a csodás die() függvény szolgáltatását igénybe véve véget vet a futtatásnak. Erre mindenképp szeretnék valami szebb megoldást, de a try-ból nem lehet kiugrani header-el hibaoldalra.
- A legtöbb változás magát a lekérdezést kezelésért felelős osztályt érintette. Egy halom privát metódusra szedtem az ellenőrzést, valamint született egy szintén privát executeQuery() nevű metódus, ami a futtatással bezárólag elvégez minden ellenőrzést, idáig minden lekérdezés ugyan úgy fordul le. Három különböző metódusra bontottam a lekérdezéseket, azok típusainak megfelelően, egyelőre tehát van select(), insert(), update() metódus. A select() eredmény tömbbel, az update() az érintett sorok számával az insert() pedig az utolsó beillesztett id-val tér vissza.
Használata alig változott, például:
$DB = new Database();
$SQL_command = 'SELECT content FROM example WHERE id = ? AND active = ?';
$SQL_parameters = array(547,1);
try {
$result = $DB->select($SQL_command, $SQL_parameters);
} catch (Exception $e) {
echo 'ERROR : ' . $e->getMessage() . '<br>';
}Osztálybetöltés autoloader-rel van megoldva. Egyelőre úgy látom minden szuperül működik, és így az én két üveg Heinekentől csipás szememmel megfigyelve, sikerült többnyire implementálni az észrevételeiteket.
Kérdések:
- Jó e?
- Hogyan oldjam meg szépen, hogy az openConnection() metódus, hiba esetén (nem sikerül kapcsolódni az adatbázishoz), egy header()-rel adott hibaoldalra dobjon?Köszi!
Új hozzászólás Aktív témák
Hirdetés
- Musk feloszlatta a Tesla Dojo szuperszámítógépes részlegét
- Honor Magic V5 - méret a kamera mögött
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Lakáshitel, lakásvásárlás
- Lexus, Toyota topik
- World of Tanks - MMO
- Star Trek
- Vezetékes FEJhallgatók
- Kiemelkedően csendes ASUS VGA jött a Noctua közreműködésével
- Fotók, videók mobillal
- További aktív témák...
- BESZÁMÍTÁS! ASRock X570 R9 5900X 32GB DDR4 1TB SSD RX 7800 XT 16GB Fractal Design Meshify 2 850W
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 7700XT 12GB Zalman Z1 Plus CM 750W
- AMD Ryzen 7 3700X/GeForce RTX 3080/16GB DDR4 RAM/1.25TB SSD+ 2.5TB HDD konfig eladó
- Samsung Galaxy A56 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 55992Ft+ÁFA
- LG 55B4 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
- Bomba ár! Lenovo ThinkPad L13 G1 - i5-10GEN I 16GB I 512SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Samsung S23 Ultra 8/256GB Állapot: 10/10 6 hó jótállás!
Állásajánlatok
Cég: FOTC
Város: Budapest