Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Transakcje w PDO
Userr
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 27.10.2015

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


1. Jeżeli używam transakcji PDO, to w którym momencie powinienem wywołać closeCursor()? W tym przykładzie nie ma w ogóle wywołania closeCursor():

http://thisinterestsme.com/php-pdo-transaction-example/

więc może w przypadku transakcji nie trzeba w ogóle wywoływać closeCursor()?

2. Modyfikując przykład stąd:

http://thisinterestsme.com/php-pdo-transaction-example/

Jeżeli zapytań nie umieszczę "bezpośrednio" pomiędzy funkcjami beginTransaction() i commit(), tylko opakuje je w swoje funkcje (a same zapytania będę właśnie w tych funkcjach), to czy transakcje będę działa poprawnie?

  1. $pdo->beginTransaction();
  2.  
  3. try
  4. {
  5.  
  6. DodajPieniadze();
  7.  
  8. AktualizujPlatnosc();
  9.  
  10. $pdo->commit();
  11.  
  12. }
  13.  
  14. ...........
  15.  
  16. FUNCTION DodajPieniadze()
  17. {
  18. //Query 1: Attempt TO INSERT the payment record INTO our DATABASE.
  19. $sql = "INSERT INTO payments (user_id, amount) VALUES (?, ?)";
  20. $stmt = $pdo->prepare($sql);
  21. $stmt->execute(array(
  22. $userId,
  23. $paymentAmount,
  24. )
  25. );
  26. }
  27.  
  28. FUNCTION AktualizujPlatnosc()
  29. {
  30. //Query 2: Attempt TO UPDATE the user's profile.
  31. $sql = "UPDATE users SET credit = credit + ? WHERE id = ?";
  32. $stmt = $pdo->prepare($sql);
  33. $stmt->execute(array(
  34. $paymentAmount,
  35. $userId
  36. )
  37. );
  38. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


javafxdev,
chce się dowiedzieć jaki to SELECT (czego dotyczy). Nie neguję jego obecności.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 21:07