| 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: 10 let
|
|||
0