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 :)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.