Autor Zpráva
firgas
Profil *
Caute,
mam taky komplexny problem. Mam dve procedury v MySQL:

VlozArmaduUtocnika (typ utoku integer, id_utocnika integer) -> id_armady_utocnika
VlozArmaduObrancu (typ_obrany integer, id_obrancu integer, id_armady_utocnika integer) -> id_armady_obrancu

a spustam ich zasebou asi takto:

$id=$db->query("call VlozArmaduUtocnika(1, 4)")->fetch_object()->id_armady;
$db->query("call VlozArmaduObrancu( 1, 4, $id)");

a ide o to, ze ta prva procedura vlozi utociacu armadu do tabulky armad a ta druha procedura vlozi braniacu armadu do tabulky armad tak, ze ich navzajom sparuje.... v tabulke to vyzera asi takto:

+--------------+-------------+-----------+----------------+----------+
|id_armady | id_hraca |id_utoku | id_obrany | super |
|1 | 4 | 1 | 0 | 2 | <- toto vlozi 1. procedura ale bez id supera
|2 | 4 | 0 | 1 | 1 | <- toto vlozi 2. procedura (sparuje sa na zaklade toho 3
+--------------+-------------+-----------+----------------+----------+ parametru a doplni cislo id superovej armady "2" do prveho riadku)

no a tu sme pri tom probleme, ze ta prva procedura sa spusti, no druha procedura neviem preco ten prvy riadok nevidi a nesparuje sa.

nieje to chybou procedur ale PHP, kedze ak spustim zo stranky 1 proceduru (refresh) a potom spustim extra 2 proceduru s natvrdo danym parametrom ktory si pozriem v databaze tak to sparuje...

proste to nejde zasebou..
viete mi poradit?
tiso
Profil
firgas -čo ti vypíše var_dump($id); po volaní prvej procedúry?

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: