Zdravím,
začínám s transakcemi a potřeboval bych zhodnotit jestli je používám správně
nebo zda jde kód nějak zkrátit.
$sql = update nebo insert;
$this->Mysqli->autocommit(FALSE);
if ($this->Mysqli->query($sql))
{
$sql = "DELETE FROM ".$this->table["users_roles"]." WHERE
uid='".$id."'";
if ($this->Mysqli->query($sql))
{
$sql = "";
foreach ($_POST["role"] as $key=>$val)
{
$sql .= "INSERT INTO ".$this->table["users_roles"]." (uid,
module, permissions) VALUES ('".$id."', '".$key."', '".$val."');";
}
if ($this->Mysqli->queries($sql)
{
$this->Mysqli->commit();
}
else
{
$this->Mysqli->rollback();
}
}
else
{
$this->Mysqli->rollback();
}
}
else
{
$this->Mysqli->rollback();
}
$this->Mysqli->autocommit(TRUE);
|