![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.03.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Witam.
Mam trzy tabele: `dokument`, droga_dokumentu`, `adres_wydawniczy` potrzebuję zapisać do nich dane z formularza - ale w taki sposób aby błąd w zapisie do jednej z tabel uniemożliwił zapis do pozostałych dwóch. Mam nadzieję, że jest to zrozumiałe. Wiem ,że trzeba stosować trzy zapytania [php:1:1f69b63d9a]mysql_query();[/php:1:1f69b63d9a] ale jak napisać w miarę elegancko warunki (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Dzięki za wszelkie sugestie - pozdr. Marcin J. :wink: |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%)
|
[php:1:b890f229b1]<?php
if(@mysql_query("zapytanie 1")) { if(@mysql_query("zapytanie 2")) { if(@mysql_query("zapytanie 3")) { echo "Dodano."; } } } ?>[/php:1:b890f229b1] |
|
|
|
Post
#3
|
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%)
|
Taa i tu przydałyby się tranzakcje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
@spenalzo: ładnie pięknie, tylko że jeszcze gdy 3 zapytanie nie powiedzie się to nalezy skasować 2 poprzednie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 0 Dołączył: 19.11.2003 Skąd: Poznań Ostrzeżenie: (0%)
|
Dlatego lepiej zrobić to przy pomocy ADoDB - jak już stosujemy słabą bazę (bez transakcji) można zaemulować transakcje odpowiednią klasą:
http://phplens.com/adodb/reference.functio...ansactions.html Update: Przykład: [php:1:1dd07555a4]<?php $DB->BeginTrans(); $ok = $DB->Execute("query 1"); if ($ok) $ok = $DB->Execute("query 2"); if ($ok) $ok = $DB->Execute("query 3"); if ($ok) $DB->CommitTrans(); else $DB->RollbackTrans(); ?>[/php:1:1dd07555a4] |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.03.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
Swietna sprawa ta biblioteka, ale niestety :? mam do dyspozycji php 4.0.0 i muszę czekać aż admin uaktualni php.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 02:08 |