Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: mysql hakuja oman funktion sisään

Runoilija [12.09.2003 11:45:34]

#

Itse en saanut workkimaan, joten onnistuuko tälläinen ja jos niin miten?

function haetiedot($runid) {
$result = mysql_query("select id,nimi from taulu where id=$runid");
$row = mysql_fetch_array($result);
}

Ja sitä olisi kiva käyttää näin:

$runid = 373;
haetiedot($runid);
$nimi=$row["nimi"];

Kiitos jo etukäteen!

Runoilija [12.09.2003 14:32:57]

#

Sain toisaalta tälläiseksi muutellut ehdotuksen, mutta ei toimi tämäkään:

<?php
function haetiedot($runid) {
$result = mysql_query("select id,nimi from taulu where id=$runid");
$row = mysql_fetch_assoc($result);
return $row;
}

$runid = 373;
$row = haetiedot($runid);
$nimi=$row["nimi"];

Antti Laaksonen [12.09.2003 15:31:24]

#

Jos haluat, että funktiossa käytettyjen muuttujien arvot säilyvät koko skriptin alueella, määrittele ne funktion alussa global-komennolla. Esim.

<?php
function testi() {
   global $arvo;
   $arvo = 5;
}

testi();
echo $arvo; //5
?>

Runoilija [12.09.2003 15:49:49]

#

Kokeilin tuota globalia jo eilen ja nyt taas tuon uudemman ehdotuksen kanssa. Ei toimi.

Antti Laaksonen [12.09.2003 17:58:07]

#

Kyllä tuo vaan minulla toimi, kun kokeilin.

Tapa 1, global-komennolla:

<?php
function haetiedot($runid) {
   global $row;
   $result = mysql_query("SELECT id, nimi FROM taulu WHERE id = $runid");
   $row = mysql_fetch_array($result);
}

haetiedot(373);
$nimi = $row["nimi"];
?>

Tapa 2, palautusarvolla:

<?php
function haetiedot($runid) {
   $result = mysql_query("SELECT id, nimi FROM taulu WHERE id = $runid");
   return mysql_fetch_array($result);
}

$row = haetiedot(373);
$nimi = $row["nimi"];
?>

Saatko mitään virheilmoitusta?

Runoilija [13.09.2003 01:35:37]

#

Hmm.. En tiedä mikä mätti aiemmin, mutta nyt toimii... Kiitos avusta! Ei, ei tullut virheilmoitusta, mutta ei kyllä tiedotkaan liikkuneet...

k-mikko [17.09.2003 18:21:05]

#

Tuon voi tehdä myös käyttämällä $GLOBALS -taulukkoa, eli siis:

$GLOBALS["muuttuja"]

Tässä tulee huomioida, ettei siinä ole sitä alaviivaa samoin kuin $_COOKIE- tai $_SERVER-muuttujissa.

Vastaus

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

Tietoa sivustosta