15. maj 2003 - 10:14Der er
20 kommentarer og 2 løsninger
Hent data fra DB
Hej.
Jeg har nu rodet med PHP og MySQL de sidste par dage - og jeg må sige, at jeg er mindre tilfreds med måden hvorpå PHP arbejder med at hente data. Den virker ikke videre logisk.
Nogen der kan se fejl her :
<?php
$bruger = "Admin";
$conn = mysql_connect("localhost", "usr", "psw"); mysql_select_db("db"); $resultat = mysql_query("select pass from users where user = $bruger");
while ($raekke = mysql_fetch_array($resultat)) { echo "password: ".$raekke['pass']; };
?>
Yderligere vil jeg meget gerne have links til guides mm. der kan forklare tingene ordentligt :)
well, er bare vant til ASP, hvor man blot skaber forbindelse til Access-databasen, og efterfølgende bruger man rs til at hente data med. Det er da meget nemmere :)
Ideen er jo netop, at admin skal kunne erstattes af en hvilken som helst person, som lagres i en variabel (username kommer fra en form, og skal derfor requestes)
Prøv at lægge din querytekst i en variabel og husk apostroffer om din textværdi: $query="select pass from users where user = '".$bruger."'"; echo $query; #får du så hvad du venter? $resultat = mysql_query($query);
Well, jeg fandt selv ud af det. Flg. blev løsningen : $resultat = mysql_query("select pass from users where user='$bruger'");
- og nu jeg sidder og kigger spm'et igennem, så kan jeg se, at jeg havde overset en ganske klog kommentar fra AvMinArm, som gav mig ideen til løsningen. - Tak :)
Dvs. alt i alt: (for lige at lære dig lidt "pæn" kode!)
<?php
$bruger = 'Admin'; //kobler op og giver fejlmeddelelse ved kiks! $conn = mysql_connect('localhost', 'usr', 'psw') or die(mysql_error()); //vælg db og giv fejl ved kiks mysql_select_db('db') or die(mysql_error()); //udfør forespørgsel og giv fejl ved problemer $res = mysql_query("select pass from users where user = '$bruger'") or die(mysql_error()); //alternativ udtrækning: while (list($pass) = mysql_fetch_row($res)) { echo "password: $pass"; } ?>
og hvis det er forventet, at forespørgslen altid returnerer en eller 0 rækker fra tabellen behøver du ikke en while-løkke.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.