![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Potrzebuje wykonać kilka operacji SQL, jedna po drugiej. Chodzi o czyszczenie bazy danych i ustawianie nowych użytkowników po czyszczeniu. Problmeme jest to, że tych zapytyańjest około 80. Kod wyglada tak:
Problemem jest to, że jak się zmieni struktura bazy danych i jakiś zapytanuie w trakcie jest nieporpawne, to dalsze już się nie wykonują :/ Jak można to rozwiązać, żeby mimo niepoprawnego błędnego zapyutania, żeby PDO zwracało mi nomunikat z błędem ale leciało dalej i wykonywało reszte zapytan? Zauważyłęm też, że mimo, że niektóre zapyutania się nie wykonuja np widziałem że nie wykonało sięczęść insertów, to nie dostalem żadnego komunikatu a mam raportowanie na E_ALL + jest echo echo $e->getMessage(); |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ustaw PDO w tryb EXCEPTION to zacznie rzucac wyjatkami. Na chwile obecna nie rzuca
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Ustaw PDO w tryb EXCEPTION to zacznie rzucac wyjatkami. Na chwile obecna nie rzuca Dziękuje dobra duszo za pomoc, nie wiedziałem, że trzeba takie raportowanuie właczać, kłania się brak doświadczenia w PDO ![]() Generowanie wyjątków włączałe mna dwa sposoby, jednak nie pokazuje mi nic ![]()
I drugi sposób
jednak nie wyświetlajami się wyjątki. Ten post edytował luis2luis 11.08.2017, 15:20:15 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy sposób jest ja najbardziej poprawny. Skoro się nie wyświetliły to znaczy że nie było wyjątku.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy sposób jest ja najbardziej poprawny. Skoro się nie wyświetliły to znaczy że nie było wyjątku. Specjalnie dodałem zapyutabniue DELETE FROM i tabela któej nie ma w bazie, więc powionien się wyświetlic wyjątek. Zastanawiam się, czy kawałek kodu Jest odpowiedni.:
Jeszcze jedno Czy zmienną:
Można jakoś bezpiecznie rozbić, żeby każde zapytanie wykonać oddzielnie i żeby jedne błąd nie wstrzytmywał wszystkiego? myslałem o explode() ale nie wiem jak z wydajnością tego mechanizmu oraz co jeżeli gdzieś w będzie znak ; po którym bym rozbijał. To jest coś na zasadzie wczytrywania dumpa bazy danych. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Aby wykonać wiele zapytań potrzebujesz emulated prepares ale poczytaj o bezpieczeństwie tego.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 13:23 |