![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 11.01.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Jest jakakolwiek możliwość, zby wykonało się 1 zapytanie, a drugie nie? (zakładając, że dane w zmiennych są poprawne)
Ponieważ raz na jakiś czas dodaje mi transakcję (insert into transaction_pay...), ale już nie aktualizuje ilości towarów (update transactions ...) Wspomnę tylko, że ten kawałek kodu jest dość często uruchamiany (cronem co 3minuty a następnie w pętli po kilkaset razy). Gdzie szukać problemu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tak chyba zrobię, jeśli drugie zapytanie się nie wykona to zapiszę czemu, razem z treścią zapytania. Powinieneś zapisywać informację o wystąpieniu dowolnego, nawet nieistotnego błędu i najlepiej od razu przerywać działanie całej aplikacji w przypadku jego wystąpienia. Kod, który generuje nieobsłużone błędy właściwie z definicji działa w sposób nieokreślony.Wiem, że PDO by ułatwiło, ale aplikacja ma za dużo kodu, żeby teraz zmieniać wszytko na PDO. Cytat W większości SELECT, ale też często UPDATE. Nie da się teraz stwierdzić czy te zapytania mają w ogóle jakikolwiek związek z problemem, ale być może zapytania SELECT operują na innym niż przewidywanym zestawie rekordów - skutek modyfikowania tabeli przez inny proces. Poczytaj o wspomnianych wcześniej poziomach izolacji transakcji, to będziesz wstanie stwierdzić czy to może powodować błąd.Cytat Czemu tragiczna jakość? Po prostu czysty PHP + MYSQL, nie obiektowy. Brak obsługi błędów, nie korzystanie z preparowanych zapytań w momencie gdy to samo zapytanie jest wykonywane setki razy z rzędu, brak odpowiedniego przygotowania danych do wrzucenia w treść zapytania SQL, niepotrzebnie wiele poziomów zagłębienia kodu, niepotrzebne powtarzanie fragmentów kodu, nieczytelne nazwy zmiennych/formatowanie kodu... to tak na pierwszy rzut oka.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 20:59 |