Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL-ongelma

Auvo [25.10.2007 12:15:15]

#

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

kayttaja-2791 [25.10.2007 12:21:22]

#

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).

Auvo [25.10.2007 12:25:11]

#

Ei pelitä, ei. Edelleenkään ei tule virheilmoitusta, mutta kyllä virheiden tulostuksen pitäisi olla päällä.

kayttaja-2791 [25.10.2007 13:01:34]

#

Katso sitten antaako mysql jotain virheilmoitusta, lisää loppuun:

echo mysql_error();

Tietenkään tuota ei kannata jättää lopulliseen koodiin sitten.

Auvo [25.10.2007 13:02:52]

#

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!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta