Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wstawianie rekordów, wszystko albo nic
potom7
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


Mam pytanie dodaje rekordy do różnych tabel(MySQL) w jednym pliku. Jak zrobić aby po nieudanej próbie wpisania do jednej tabeli wszystkie wpisy zostały anulowanie. Tak aby wpisało się wszystko albo nic.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JaRoPHP
post
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Zastosuj tzw. TRANSAKCJE.
Tabela MySQL musi mieć typ InnoDB, mam nadzieję, że poniższy schematyczny skrypcik Ci pomoże:
  1. <?php
  2. $err = false;
  3. $db = mysqli_connect($server, $user, $pass);
  4. mysqli_select_db($db, $table);
  5. mysqli_query($db, 'BEGIN');
  6.  
  7. // pozostałe zapytania; w przypadku nie wykonania zmieniasz $err na true, np:
  8. mysqli_query("INSERT INTO tabela VALUES('1','2')") or $err = true;
  9.  
  10. if($err) {
  11. mysqli_query($db, 'ROLLBACK');
  12. } else {
  13. mysqli_query($db, 'COMMIT');
  14. }
  15. ?>
Zauważ, że używam mysqli_*, a nie mysql_*.

Ten post edytował JaRoPHP 1.12.2006, 11:26:11
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 17:29