![]() |
![]() |
-Code46- |
![]()
Post
#1
|
Goście ![]() |
Parser php jeśli napotka błąd w zapytaniu mysqla, wyświelti na stronie napis "Zapytanie nieudane i opis błędu" a skrypt przestanie się wykonywać czyli żadna zmiana nie zostanie wprowadzona do bazy. 1. Czy powyższy kod jest poprawny? On działa ale czy jest "profesionalny"? Może robię coś nie dokońca poprawnie? 2. Jak zrobić, żeby zamiast opisu błędu podawał kod błędu (liczbowy)? I gdzie można to sprawdzić co taki błąd oznacza? Nie chce żeby użytkownicy wiedzieli co poszło nie tak. 3. Czy taki zapis
można zastąpić innym? Np takim:
a)Czy można napisać funkcję bez parametrów wyswietl_ladny_blad() , która będzie tworzyła napis w stylu "Wystąpił błąd: KOD BŁDU: $kod_błędu"? b ) Jak to zrobić? c)I czy można ją zapisać w pliku include.php.inc (w tym pliku mam nazwe gosta, nazwę bazy i hasło do bazy)? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
poczytaj o wyjątkach w php5... i poczytaj tez
mysql" title="Zobacz w manualu PHP" target="_manual mysql_errno" title="Zobacz w manualu PHP" target="_manual powinno wystarczyc. |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Odnośnie "profesjonalności" :
1.
W sytuacji gdzie zapytanie jest bardzo skomplikowane - owszem, ale nie lepiej:
2. Standardy kodowania 3. Staraj sie nie używać " tam gdzie można '. 2. i 3. to takie drobnostki. Ale to są indywidualne sprawy programisty. Dodatkowo to co napisał @ActivePlayer. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
profesjonalnosc kody to pojecie względne... moglbys dzielic to na fukncje, klasy, uzywac db layerow i innych wymyslnych metod... czasem smieje sie z tego bo przylapalem siebie sam, na tym ze zamiast 2 linijek kodu, dołączam jakies biblioteki z nieba wzięte... pamiętaj, jesli Twój kod jest łątwy w utrzymaniu i edycji, do tego szybki i malo podatny na bledy, to jest to dobry kod.
|
|
|
-Guest- |
![]()
Post
#5
|
Goście ![]() |
Dzięki Panowie. Przeczytałem. Ale problem z tą funkcją pozostał. Wiem już jak pobrać numer błędu. Chodziło mi o to, czy jest na stronie mysql wykaz błędów.
Czyli klient coś zapisuje do bazy, zapisanie nie udało się a on zobaczy tylko błąd:1048 i tyle - bez opisu. A ja sobie biorę taki kod i sprawdzam na stroni co on oznacza. Druga sprawa. Czy sam warunek jest poprawnie zapisany
![]() I jak z tą funkcą. Nie chce korzystać z brzydkiego zapisu echo "Błąd ble ble ble" tylko napisać funkcję wyswielt_ladny_blad(), która sormatuje tabelkę na środku strony a w niej ładny napis np "Operacja nie udała się. Wystąpił błąd: .....". Żeby za każdym razem nie powielać tych samych kilku linijek a wywoływać funkcję z innego pliku.. Da się coś takiego zrobić? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
warunek jest ok. poczytaj jeszcze o tym jak poprawnie pisac przejrzysty(ort?) kod. mike_mech dal linka. jak chcesz dawać ładny błąd to w funkcji wyswietl_ladny_blad() zapisuj nazwe i ID błedu do pliku//bazy//gdziekolwiek, a userowi wyswietlasz tylko ze 'wystąpiły problemy techniczne'. aha i odradzam uzywanie dorgi mailowej do raportowania o błędach mysql.... padnie Ci serwer mysqla i zanim sie obejrzysz bedziesz mial 20000 listow z raportami bledów. niezbyt miłe
![]() |
|
|
-Code46- |
![]()
Post
#7
|
Goście ![]() |
Cytat poczytaj jeszcze o tym jak poprawnie pisac przejrzysty(ort?) kod. mike_mech dal linka. jak chcesz dawać ładny błąd to w funkcji wyswietl_ladny_blad() zapisuj nazwe i ID błedu do pliku//bazy//gdziekolwiek, a userowi wyswietlasz tylko ze 'wystąpiły problemy techniczne'. aha i odradzam uzywanie dorgi mailowej do raportowania o błędach mysql.... padnie Ci serwer mysqla i zanim sie obejrzysz bedziesz mial 20000 listow z raportami bledów. niezbyt miłe ![]() Ok Cytat warunek jest ok. Wiesz co w między czasie próbowałem sam. I chcaiłem przetestować. Do tej pory miałem tak:
i chciałem żeby po każdym udanym odczycie wypisał komunikat "ZAPYTANIE UDAŁO SIE", więc przerobiłem to na taki kod:
Ale parser zatrzymuje wykonywanie skryptu i widzę białą stronę. Dlatego obawiam się czy zapis jest poprawny... |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
to 'then' to jakies basicowe czy c++sowe ? Ten post edytował ActivePlayer 19.04.2005, 21:41:42 |
|
|
-Code46- |
![]()
Post
#9
|
Goście ![]() |
Cytat(ActivePlayer @ 2005-04-19 20:40:09) to 'then' to jakies basicowe czy c++sowe ? Hehe żeczywiście złe nawyki. A jeszcze jedno - wiesz jak taką funkcje napisać? numer 1 - oznacza że nie ma takiej bazy 2 - nie ma takiego rekordu .. .. itd. Piszę jedną funkcę którą wrzucam do jakiegoś pliku (możę byc plik config.inc.php - w nim zapisuje parametry połączenia z bazą?), żeby nie powielać kilka razy tego samego kodu. W funkcji mam np taki kod:
A zamiast pisać np
pisałbym
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Code46 @ 2005-04-19 22:07:53) Cytat(ActivePlayer @ 2005-04-19 20:40:09) to 'then' to jakies basicowe czy c++sowe ? Hehe żeczywiście złe nawyki. A jeszcze jedno - wiesz jak taką funkcje napisać? numer 1 - oznacza że nie ma takiej bazy 2 - nie ma takiego rekordu .. .. itd. Piszę jedną funkcę którą wrzucam do jakiegoś pliku (możę byc plik config.inc.php - w nim zapisuje parametry połączenia z bazą?), żeby nie powielać kilka razy tego samego kodu. W funkcji mam np taki kod:
A zamiast pisać np
pisałbym
ale po co userowi przedstawiac kod błędu. lepiej zapisz sobie go gdzies, np w pliku. a user niech zobaczy jakis statyczny napis informujący o problemach z serwerem czy cokolwiek. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 16:01 |