Christoffer wrote:
> Hej, jeg har tidligere fået hjælp ang. at gemme en værdi fra mysql i
> variabel. Problmet ligger i at værdien fra mysql ikke er en tekst streng,
> men et tal, som ikke har en fastværdi men en værdi mellem 1 og 3.
Tal og strenge omsætter php selv efter hvad den synes er passende, så
det er ofte ikke noget du behøver spekulere over. (Der kan dog være
specielle tilfælde.)
> /* Database forbindelse */
> $userlevel = mysql_query("SELECT count(*) as userlevel FROM bruger WHERE
> brugernavn = '$_SESSION[brugernavn]'");
skriv hellere
brugernavn = '{$_SESSION['brugernavn']}'");
Når noget ikke virker, så check på hvad du får tilbage fra de
forskellige funktioner, også mysql_query.
Kan gå galt hvis værdien af $_SESSION['brugernavn'] indeholder et ' .
Hvis "brugernavn" er noget den enkelte bruger selv kan vælge, bør det få
en tur igennem "mysql_real_escape_string()" inden du bruger det i en
forespørgsel.
> $userlevel = mysql_fetch_array($userlevel, MYSQL_NUM);
At genbruge en variabel på den måde, er ikke specielt kønt, og gør også
at du ikke umiddelbart kan kopiere kode og bruge det et andet sted. Kig
på eksemplerne i php-manualen. Fx. her:
http://www.php.net/manual/en/function.mysql-query.php
> if($userlevel[0] == "1") {
> require("../com/levels/level1.php");
> }
>
> Har forsøgt mig på følgende måde, men det virker som ikke at den ikke gemmer
> nogen værdi i userlevel.
> -Er jeg gået galt i byen ved at forsøge mig på den måde??
Bortset fra at jeg ikke forstår meningen med "count(*) as userlevel", så
ser det ikke helt galt ud.
prøv at print $userlevel ud (fx. med print_r($userlevel) )
> Har tidligere brugt
> $userlevel = mysql_query("SELECT count(*) as userlevel FROM bruger WHERE
> brugernavn = '$_SESSION[brugernavn]'");
> men når jeg skal bruge variblen flere gange på een side, så er det dumt at
> hente den flere gange..
Øhm, ja. Sålænge du ikke overskriver eller smider en værdi væk, behøver
du ikke hente den igen. Eller er det noget andet du henviser til?
/Bent