![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z pogranicza php i MySQL ale zdecydowałem się umieścić temat tutaj.
Zaczne od kodu: AddQuestionAction.class.php
AddQuestionModel.class.php
Jak widać powyżej - banalna operacja. W Akcji pobieram model i wykonuje jego metodę. Szafa gra, a przynajmniej powinna (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Podam dodatkowo strukturę tabeli faq:
I teraz problem. Na pola languageId + question jest założony klucz unikalny. Co powinno zaowocowac wyrzuconym wyjątkiem podczas próby dodania tych samych danych. I owszem wyjątek leci, ale ... ... z kodem błędu 0 (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! A przecież zaburzenie unikalności klucza to kod błędu 1062 (jak się nie mylę). Dlaczego tak się dzieje :?: Dodatek: MySQL 4.1.7 php 5.0.4 Abstrakt bazodanowy to Creole 1.0.9 Framework Mojavi 3.0.0 dev ( + moje zmiany ). |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Linia 32: robisz sql'owy insert a wywolujesz metode update. To chyba coś nie tak jest (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . sprawdź i daj znać
edit po poście M4chu: no faktycznie, przeczytalem manuala i widzę że się myliłem. Ale plama na honorze (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) Mój błąd |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 28.09.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nospor @ 2005-09-27 08:52:31) Linia 32: robisz sql'owy insert a wywolujesz metode update. To chyba coś nie tak jest (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . sprawdź i daj znać Wszystko w porządku: w Creole do inserta i update'a i delete'a używamy executeUpdate - RTFM (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A co do błędu, to może właśnie znalazleś buga, bo wyglada na dobrze napisane. |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem ...
... niestety. Mówię niestety bo natura błędu bardzo mnie zmartwiła. Jest to duże niedociągnięcie twórców Creole'a. Zerknijcie jak w klasie SQLException wywoływany jest konstruktor klasy nadrzędnej (klasy Exception): SQLException.php
... no właśnie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Bez drugiego parametru, który to jest kodem błędu. Jak tak można? I to jeszcze pisząc pod php5 :?: Bardzo nieładnie, bardzo. Będę musiał przepisać Creole'a, albo poszukać altenatywy. A wielka szkoda, bo poza brakiem debugera myślałem że nie ma wad. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Niestety.
Też się łudziłem, ale przejrzałem kod Creole'a pod tym kątem i to jest fakt. Smutny zresztą. W SQLException z Creole'a nie ma kodów błędów. (Ale nic nie szkodzi, uzupełniłem sobie Creole'a o to) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 09:24 |