Autor | Zpráva | ||
---|---|---|---|
qteck Profil |
#1 · Zasláno: 2. 6. 2015, 10:27:34 · Upravil/a: qteck
Ahoj, napsal jsem si script co mi přidá článek a poté z něj vytáhne tagy a uloží je v závislosti na posledním vloženém id. Hodil jsem to do transakce a chtěl bych vědět jak mohu ověřit chování když transakce nebude úspěšná. Ten kód vypadá takhle:
try { $db->beginTransaction(); $addArticle->insertArticle(array(':title' => $title, ':content' => $content, ':author' => $author, ':place' => $place)); $title = $title; $author = $_SESSION['fb']['name']; $tagsFromContent = $addArticle->hashTagSelect($content); $addArticle->hashTagInsert(array_merge($tagsFromContent, makeItHashTag(array($title, $author)))); $db->commitTransaction(); $notices[] = 'Article has been posted'; $_SESSION['addArticleContent'] = ''; // build up $article->fillTheCommentsFieldsBySession(); for this ocassion } catch (Exception $ex) { $db->rollbackTransaction(); $notices[] = 'Article has not been posted! Some issues have been appeared.'; } Pokud k němu má někdo nějaké poznámky rád se přiučim. Díky. A ještě jedna otázka, pokud tedy první pokus try dopadne negativně a zachytí se nějaká výjimka vykonají se tyto dva řádky nebo ne? $notices[] = 'Article has been posted'; $_SESSION['addArticleContent'] = ''; |
||
Kajman Profil |
qteck:
„jak mohu ověřit chování když transakce nebude úspěšná“ Např. můžete databázovému uživateli odebrat právo insert na tabulku s tagy. |
||
qteck Profil |
#3 · Zasláno: 2. 6. 2015, 11:10:58
mrkl jsem na to:
http://programujte.com/clanek/2008090900-uvod-do-systemu-uzivatelskych-prav-mysql/ ale jakým způsobem to potom ověřím netuším. |
||
Kajman Profil |
#4 · Zasláno: 2. 6. 2015, 12:54:32
qteck:
„jakým způsobem to potom ověřím netuším“ Pokud uděláte rollback, neměl by být v db ani vkládaný článek. |
||
Časová prodleva: 9 let
|
0