Resource ID #2

Olen tekemässä PHP SQL koodia ja annan PHP:ssa seuraavat komennot:

$nimi = mysql_query("select kaupunki from suomi where laani = kuopio");

echo $nimi;

Se heittää sitten ilmoituksen Resource ID #2 eikä oikeata arvoa.

Osaatteko auttaa, että mistä johtuu?
1310
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

PHP tekee juuri oikein ja ilmoittaa mikä resurssi-muuttuja on kysessä. $nimi on nimittäin tuon kyselyn jälkeen tietotyypiltään tietokantatulosolio ja kun koitat tulostaa tuota oliota se kertoo "identiteettinsä".

Elikkä tuolta tietokantaoliolta pitää pyytää sen tietoja erillisillä funktioilla jotka antavat objektille esim tietokantakursorin ja muita hyödyllisiä ominaisuuksia.

Tietojen nyhtämiseen tuolta $nimi olioltasi (nimeä se mielummin vaikka $kyselytulos jotta kuvaa oikeaa asiaa...) käytetään mysql_fetch_* funktioita jotka on esitelty manuaalissa.

Tässäpä yksi esimerkki jolla saat tiedot tulostettua:

/////////////////

$kyselytulos = mysql_query("select kaupunki from suomi where laani = kuopio");

while ($rivi = mysql_fetch_array($kyselytulos MYSQL_ASSOC))
{
echo $rivi["kaupunki"];
}
mysql_free_result($kyselytulos);

/////////////////

mysql_fetch_array siis hakee kyselytuloksesta rivin ja antaa sen $rivi muuttujalle ja siirtää tietokantakursorin seuraavalle tulosriville. While silmukkaa toistetaan kunnes tuloksessa ei ole enää rivejä jäljellä ja se palauttaa NULL:in.

$rivi muuttujasta sitten saa tiedot ulos kuten muistakin taulukkomuuttujista; mukavaa on että muuttujiin voi viitata myös niiden sarakkeen nimellä vaikka itseasiassa voisi käyttää myös numeroindeksiä...

ja lopussa mysql_free_result jotta vapautetaan muistia hyvän ohjelmointitavan mukaan...

Äänestä

Kommentoi aloitusta


Hannu kirjoitti:

Olen tekemässä PHP SQL koodia ja annan PHP:ssa seuraavat komennot:

$nimi = mysql_query("select kaupunki from suomi where laani = kuopio");

echo $nimi;

Se heittää sitten ilmoituksen Resource ID #2 eikä oikeata arvoa.

Osaatteko auttaa, että mistä johtuu?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu