transakcje w php

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
marekpraga
Nowy
Nowy
Posty: 29
Rejestracja: pn lis 17, 2003 9:05 am

transakcje w php

Post autor: marekpraga »

witam, moze mi ktos podeslac jakis material lub w skrocie napisac jak zaimplementowac transakcje w php z mysql?
yarpo
Nowy
Nowy
Posty: 168
Rejestracja: wt lut 08, 2005 6:29 pm
Lokalizacja: Gdańsk
Kontakt:

Re: transakcje w php

Post autor: yarpo »

No dobra, ale czy ma to być wczytywanie do bazy danych nowych danych.

[php]<?php
// przyjmijmy, że baza istnieje
// i jesteś już z nią połaczony

$zapytanie = "INSERT INTO tabela (imie,nazwisko) VALUES("Jan","Kowalski");";
$wynik = mysql_query($zapytanie);
mysql_close($polaczanie);
?>[/php]

Odczytywanie danych:

[php]<?php
// jestes połaczony, baza i tabela już istanieją

$zapytanie = "SELECT * FROM tabela;";
$wynik = mysql_query($zapytanie);
$i=1;
while($myrow = myslq_fetch_array($wynik)) {
echo $i." ".$myrow["imie"]. " " .$myrow[nazwisko"]."<br />";
$i++;
}
mysql_close($polaczanie);
?>[/php]

Jeśli o to ci chodziło to zapuść zadaj odpowiednie zapyatnie do google i wszystkiego się dowiesz. Przykładowe zapyatnie: http://www.google.pl/search?hl=pl&q=%22 ... B+kurs&lr=
Powodzeia
Ostatnio zmieniony śr lut 09, 2005 12:11 pm przez yarpo, łącznie zmieniany 1 raz.
marekpraga
Nowy
Nowy
Posty: 29
Rejestracja: pn lis 17, 2003 9:05 am

Re: transakcje w php

Post autor: marekpraga »

dzieki za checi, ale widze ze termin transakcje chyba nie jest ci znany: http://dev.mysql.com/doc/mysql/en/innod ... -apis.html

ja chce wiedziec tylko czy jest jakas "metoda" do tworzenia transakcji czy wszystko trzeba wywolywac jako oddzielne zapytania?
yarpo
Nowy
Nowy
Posty: 168
Rejestracja: wt lut 08, 2005 6:29 pm
Lokalizacja: Gdańsk
Kontakt:

Re: transakcje w php

Post autor: yarpo »

Pisząc za Wikipedią:
Transakcja to zbiór operacji które mogą być wykonane jedynie wszystkie lub żadna.

Nazwa pochodzi od operacji bankowych - przelew musi jednocześnie zabrać z jednego konta i dodać na drugie. W przypadku niepowodzenia żadna z tych operacji nie powinna mieć miejsca. Jeśli zajdzie tylko jedna skutki były by potencjalnie katastrofalne.

Transakcje opisuje zasada ACID - Atomicity, Consistency, Isolation, and Durability: dalej
Wg tego, zapytanie jest transakcją.......

PS. Sory za odejście od tematu.
marekpraga
Nowy
Nowy
Posty: 29
Rejestracja: pn lis 17, 2003 9:05 am

Re: transakcje w php

Post autor: marekpraga »

hehehe, ok

Wg tego, zapytanie jest transakcją.......

tylko powiedz mi jak to wywnioskowales, bo ja tam nic takiego nie widze, wrecz przeciwnie jest dokladnie napisane ze "to zbiór operacji " a czy 1 zapytanie jest zbiorem zapytan? w tym przypadku mamy do czynienia z min 2 zapytaniami a opisywany przelew sklada sie z 2 operacji (zapytan) UPDATE i INSERT

pozdrawiam
Wojciech Kocjan
Zaczyna działać
Zaczyna działać
Posty: 427
Rejestracja: sob gru 14, 2002 10:51 am

Re: transakcje w php

Post autor: Wojciech Kocjan »

Yarpo - to co napisałeś na 100% nie jest transakcją.. Transakcja jest to właśnie zbiór operacji - gdy np. przedostatnia zostanie wykonana błędnie, wówczas nie wykona się żadna. Dzięki temu można mieć pewność, ze rekord doda się do 5 tabeli, a nie do 2, co może powodować błędy w przyszłości. Transakcje w MySQL są bodajże od wersji 4.0, zobacz na linki:

:arrow: http://dev.mysql.com/doc/mysql/en/commit.html
:arrow: http://dev.mysql.com/doc/mysql/en/set-transaction.html

W php transakcje robi się używając:

[php]<?php
mysql_query("BEGIN"); // start
mysql_query("COMMIT"); // zapisz
mysql_query("ROLLBACK"); // cofnij zmiany
?>[/php]
yarpo
Nowy
Nowy
Posty: 168
Rejestracja: wt lut 08, 2005 6:29 pm
Lokalizacja: Gdańsk
Kontakt:

Re: transakcje w php

Post autor: yarpo »

no i tu masz chyba jednak rację:-)
Trzeba uzupełnić wiedzę:-)
marekpraga
Nowy
Nowy
Posty: 29
Rejestracja: pn lis 17, 2003 9:05 am

Re: transakcje w php

Post autor: marekpraga »

dzieki :)
ODPOWIEDZ