Hirdetés
- M.2 csatlakozók terén (is) jónak ígérkezik az MSI közelgő AMD-s alaplapja
- Kivégezheti a kisebb VGA-gyártókat az NVIDIA döntése
- Szinte a semmiből robbanna be az 1,4 nm-es eljárásával a Rapidus
- Félszáz terabájtos HDD-k előtt nyitotta ki az ajtót a Seagate
- Lassú lett a Windowsod? Ezeket kapcsold ki elsőnek!
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
DNReNTi
#15427
üzenetére
"Nem kezel. Az adatbázis kapcsolat létrehozása előtt ki aztán pedig bekapcsolja az error_reporting-ot, hogy hiba esetén egy szépen megformázott hiba oldalra tudja dobni a felhasználót (header()). Ha nem kapcsolnám ki, akkor maga a php dobna hibát, ami után nem menne a header, ezért van benne. Ez ebből hiányzik, mivel: 1: nincs hibaoldal, 2: teszt."
Te ezt írtad:error_reporting(0);
$DB_Connect = new mysqli(self::$DB_Host, self::$DB_User, self::$DB_Pass, self::$DB_Name);
if ($DB_Connect->connect_error) {
echo 'Database connection failed. Code : ' . $DB_Connect->connect_errno;
}
$DB_Connect->set_charset(self::$DB_Char);
error_reporting(1);Tehát fogod, és 0-ra, majd 1-esre állítod az error_reportingot.
Egyrészt eleve milyen alapon nyúlkál az osztályod az error_reporting értékéhez, minek? Az ilyesmit felejtsd el gyorsan.
A kód ne csináljon többet az elvártnál.
Másrészt sztem te az error_reporting()-ot a display_errors értékével kevered.
Harmadrészt miért állítod be az error_reporting szintjét pont az E_ERROR-ra? Az error_reporting(1); ugyanis ekvivalens azzal, ha azt írod, hogy error_reporting(E_ERROR); Mi van, ha korábban az error_reporting értéke szándékosan E_ALL-ra volt állítva, ami 32767? (Itt láthatod az értékeket.)"»»"Ha csak kiírsz egy üzenetet a képernyőre, attól az alkalmazásod még fut tovább"
Az előzőben benne a válasz. Élesben egy hibaoldalra dob."
Hát ez eleve rossz megközelítés. Most akkor itt echo-zol, de aztán majd élesben átírod normális hibakezelésre? Ez így nem lesz jó. Az ilyenből tuti, hogy az lesz, hogy tesztelésnél nem jelentkezik semmilyen hiba, tök jól működnek a dolgaid, aztán majd élesben jöhet a gebasz, és akkor szépen kiírtad a képernyőre a hibaüzenetet, ahelyett, hogy eleve normálisan kezelted volna a hibákat, már amikor megírtad a kódot.
Jótanácsként mondom, ne szopasd magad azzal, hogy "hát ezt majd átírom", mert úgyis elfelejted, vagy pedig később csak macerás lesz megcsinálni.
Szóval az echo-zás helyett dobj szépen egy exceptiont, hiszen komoly hiba, ha nem tudtál csatlakozni az adatbázishoz.A többit asszem mallee már leírta, például hogy tök értelmetlenek az if-else-be rakott exception-dobásaid.

Pont azért jó, hogy tudsz dobálni exceptionöket, mert elkerülheted az ilyen ocsmány if-else szerkezeteket.
Új hozzászólás Aktív témák
- Nothing Phone (3) – tervezett kaotika
- Napelem
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- The Division 2 (PC, XO, PS4)
- Formula-1
- Társasjáték topic
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Milyen egeret válasszak?
- További aktív témák...
- MacSzerez.com - 2017 MacBook Air 13" / i5 1.8GHz / 8GB RAM / Választható SSD méret! / Garancia!
- MacSzerez.com / iPad Air M2 11" / 6. generáció / Wifi / 128GB / Asztro / Garancia!
- Victus fb3804no 15.6" FHD IPS Ryzen 5 8645HS RTX 4050 16GB 512GB NVMe gar
- MacSzerez.com - 2020 MacBook Air 13" Retina M1 / 16GB RAM / 256GB SSD / Asztroszürke / Garancia
- Kingston FURY 32GB DDR5 5600MHz CL40 - Beast Black - 1x32GB - 99 hó garancia - ÚJ! Bontatlan!
- BESZÁMÍTÁS! ASUS TUF B760M i9 14900K 32GB DDR4 1TB SSD RX 7900 XTX 24GB ZALMAN Z1 Plus Seasonic 850W
- Bomba ár! Lenovo ThinkBook 13s-IML - i5-10210U I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- Konzol felvásárlás!! Xbox Series S, Xbox Series X
- Bomba ár! Lenovo 14W Gen2 - AMD 3015e I 4GB I 128SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- Dell Latitude 5400 14" FHD IPS, i5 8365U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
A kód ne csináljon többet az elvártnál.


