Autor Zpráva
suvel
Profil
Mám následující problém - prosím o pomoc:
Potřebuji zapsat hodnotu do tabulky a současně vytvořit soubor, ale tak, že když dojde při vytváření souboru k chybě, nesmí se do tabulky zapsat nic (MySQL, InnoDB):

$chyba = false;
mysql_query("start transaction");
mysql_query("set autocommit=0");
$v = mysql_query("UPDATE test SET `sloupec`=$promenna");
if(!$v) $chyba = true;
else {
    $z = fopen("test.txt","w"); 
    $f = fputs($z,"něco do souboru");
    if(!$f) $chyba = true;
}
if($chyba) mysql_query("rollback");
else mysql_query("commit");

Bohužel, k zápisu do tabulky dojde vždy, i když nasimuluju chybu při otevírání souboru (tabulka se naplní, soubor nevznikne - jako by se neprovedl příkaz rollback...)

Prosím, poraďte, kde je chyba...
Kajman
Profil
Co vypíší tyto příkazy?

SHOW ENGINES;
SHOW CREATE TABLE test;
suvel
Profil
Všem se omlouvám, sem jsem dal zjednodušený skript, který je v pořádku, zatímco v původním byla banální chyba... Takže to, co je tady, funguje bez problémů tak, jak má.
Hezký večer :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: