Moi,
osaisiko joku neuvoa, mikä tässä seuraavassa kyselyssä on vikana? Virheilmoitusta ei tule, mutta kysely3 ei toteudu. Olen käyttänyt apuna myös Ohjelmointiputkan PHP-opasta.
<?php $nimi = $tehdas['nimi']; $ostaja = $user['tunnus']; $kysely = "UPDATE varasto SET myyty = myyty + 1 WHERE nimi = '$nimi'"; $kysely2 = "UPDATE varasto SET varastossa = varastossa - 1 WHERE nimi = '$nimi'"; $kysely3 = "UPDATE users SET raha = raha - $tehdas['tuotehinta'] WHERE nimi = '$ostaja'"; //suoritetaan kysely mysql_query($kysely); mysql_query($kysely2); mysql_query($kysely3); ?>
Auvo
Et voi viitata taulukko-muuttujan soluun merkkijonon sisällä ilman hakasulkuja:
$kysely3 = "UPDATE users SET raha = raha - {$tehdas['tuotehinta']} WHERE nimi = '$ostaja'";Tuon pitäisi kyllä antaa ihan PHP-tason varoitus... Kannattaa tarkastaa onko PHP:n virheiden tulostus päällä, ja ehkä tehdä myös jotain tilan ilmaisua itse koodiin (tyyliin skriptin lopussa tulostaa että homma on OK).
Ei pelitä, ei. Edelleenkään ei tule virheilmoitusta, mutta kyllä virheiden tulostuksen pitäisi olla päällä.
Katso sitten antaako mysql jotain virheilmoitusta, lisää loppuun:
echo mysql_error();
Tietenkään tuota ei kannata jättää lopulliseen koodiin sitten.
Unknown column 'nimi' in 'where clause'.
Tuommonen tulee..
EDIT: Selkis. Eli tossa kysely kolmosessa ei ollutkaan WHERE nimi vaan pitäisi olla WHERE tunnus. :)
Kiitos!
Aihe on jo aika vanha, joten et voi enää vastata siihen.