---
title: "Hämta data från databas.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/101812-hämta-data-från-databas"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "slow"
published: "2004-04-19T09:23:18.000Z"
updated: "2004-04-27T10:23:39.000Z"
replies: 17
views: 644
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/101812-hämta-data-från-databas"
---

# Hämta data från databas..

## #1 — slow, 2004-04-19T09:23Z

Fakta, har precis börjat med PHP och har precis börjat att skriva mitt första loginscript. Har lyckats ganska bra. Blev ett väldigt enkelt men ändå. Man registrera sig åså.
Så till min fråga:
Ifall jag vill hämta data från en databas. 
Och då info om den inloggade.
Jag använder mig att sessioner.
Kan man göra så här:

$sql = "SELECT \* FROM members WHERE user = ??????? ";
$result = mysql_query("$sql");
while ($rad = mysql_fetch_array($result)){
echo "Anv: ".$rad\[user\]."\<br\>"; 
echo "Lösenord: ".$rad\[pass\]." \<br\>";
echo "Namn: ".$rad\[name\]." \<br\>";
echo "Email: ".$rad." \<br\>";
}
mysql_close ($länk);

Vad ska man skriva istället för frågetecknena isåfall?
Kan man mata in aktuell session på något sätt?
eller är jag helt ute och cyklar?
Kanske finns något enklare sätt?

Tack för ordet.. :)
//Patrik

Permalänk: https://www.webforum.nu/p/101812

## #2 — WiZzLeR, 2004-04-19T15:10Z

$sql = "SELECT \* FROM members WHERE user = '{$\_POST\['username'\]}' && pass = '{$\_POST\['password'\]}' ";

något sånt.

Permalänk: https://www.webforum.nu/p/1326699

## #3 — Cri11e, 2004-04-19T15:58Z

Förstår inte riktigt vad du menar men när användaren loggar in registrerar du användarnamnet eller nått id i en session gissar jag. I stil med:

Kolla om användaren finns i databasen och kolla så att lösenordet stämmer. Stämmer lösenordet så kan du nu registrera användarnamnet i sessionen.

```
session_start();

$_SESSION['username'] = $rad['user']
```

I så fall går det ju enkelt att plocka fram information från databasen med:

```
$sql = "SELECT * FROM members WHERE user = '{$_SESSION['username']}' "
```

 

Eller vad du nu valt att döpa sessionen till.

Permalänk: https://www.webforum.nu/p/1326727

## #4 — WiZzLeR, 2004-04-19T16:00Z

onödigt. skapa session EFTER att man är inloggad.

Permalänk: https://www.webforum.nu/p/1326731

## #5 — slow, 2004-04-20T07:45Z

wieee...

\<?
$länk = @mysql_connect ("localhost", "blaha","blaha")
or die ("kunde inte ansluta");
$databas = mysql_select_db("blaha");
$sql = "SELECT \* FROM members WHERE user='{$\_POST\['user'\]}'"; 
$result = mysql_query("$sql");
while ($rad = mysql_fetch_array($result)){
echo "Anv: ".$rad\[user\]."; 
}
mysql_close ($länk);
?\>

Så ser min kod ut...
Men den skriver ändå bara ut blankt.
Jag tycker att det ska fungera så här men men...
Förslag på ändring någon?

Permalänk: https://www.webforum.nu/p/1327142

## #6 — slow, 2004-04-22T21:09Z

Ingen?

Permalänk: https://www.webforum.nu/p/1329191

## #7 — Peeer, 2004-04-23T07:16Z

Vad får du om du provar

```
<?
$länk = @mysql_connect ("localhost", "blaha","blaha")
or die ("kunde inte ansluta");
$databas = mysql_select_db("blaha") or die('Fel: ' . mysql_error());
$sql = "SELECT * FROM members WHERE user='{$_POST['user']}'";
$result = mysql_query("$sql")  or die('Fel2: ' . mysql_error());
while ($rad = mysql_fetch_array($result)){
echo "Anv: ".$rad['user'].";
}
mysql_close ($länk);
?>
```

Permalänk: https://www.webforum.nu/p/1329306

## #8 — Melea, 2004-04-24T10:06Z

> **WiZzLeR skrev:**
>
> $sql = "SELECT \* FROM members WHERE user = '{$\_POST\['username'\]}' && pass = '{$\_POST\['password'\]}' ";
> 
> något sånt.

Vad gör det för skillnad om man skriver 
user = '**{**$\_POST\[username\]**}**'
istället för 
user = '$\_POST\[username\]'?

Permalänk: https://www.webforum.nu/p/1329935

## #9 — slow, 2004-04-25T08:31Z

Parse error: parse error, expecting \`T_STRING' or \`T_VARIABLE' or \`T_NUM_STRING' 

Den får jag fram på denna rad:
echo "$rad\['user'\]"; 

Vad göra?

Permalänk: https://www.webforum.nu/p/1330274

## #10 — K@llen, 2004-04-25T08:51Z

```
echo $rad['user'];
```

elller (om du vill ha in lite formateringar)

```
echo "<p>" . $rad['user'] . "</p>";
```

Permalänk: https://www.webforum.nu/p/1330277

## #11 — slow, 2004-04-25T14:46Z

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 

så säger den istället då.. :(
På denna rad:

while ($rad = mysql_fetch_array($result)){

Permalänk: https://www.webforum.nu/p/1330428

## #12 — Melea, 2004-04-25T15:10Z

skippa mellanrummet mellan while och ($rad.

Permalänk: https://www.webforum.nu/p/1330438

## #13 — Peeer, 2004-04-25T15:36Z

> **Melea skrev:**
>
> skippa mellanrummet mellan while och ($rad.

Ska inte spela någon roll!

slow \> Har du kvar "or die()" på raden med mysql_query()? Felet du får nu brukar bero på att sql-frågan inte utfördes och då skulle du få ett felmeddelande.

```
$result = mysql_query("$sql") or die('Fel: ' . mysql_error());
```

Permalänk: https://www.webforum.nu/p/1330442

## #14 — WiZzLeR, 2004-04-25T16:15Z

> **Melea skrev:**
>
> > **WiZzLeR skrev:**
> >
> > $sql = "SELECT \* FROM members WHERE user = '{$\_POST\['username'\]}' && pass = '{$\_POST\['password'\]}' ";
> > 
> > något sånt.
>
> Vad gör det för skillnad om man skriver 
> user = '**{**$\_POST\[username\]**}**'
> istället för 
> user = '$\_POST\[username\]'?

om du har 'username' så måste man köra  {} annars blir det fukked. men visst man kan skriva utan $\_POST\[username\]. det rätta alternativet är nog  :

$sql = "SELECT \* FROM members WHERE user = '".$\_POST\['username'\]."' && pass = '".$\_POST\['password'\]."'";

Permalänk: https://www.webforum.nu/p/1330466

## #15 — Melea, 2004-04-25T21:16Z

Varför blir det *fukked* om man inte har {}?
Aldrig kört med det och skriver alltid 
WHERE user = '$\_POST\[username\]' AND pass = '$\_POST\[password\]'

Aldrig strulat för mig.

Permalänk: https://www.webforum.nu/p/1330623

## #16 — slow, 2004-04-25T21:24Z

Detta är vad jag använder mig av nu.
Och då pratar den om parse error på rader som är blanka.
Ursäkta att jag kass! :)
Har nog börjat lite för avancerat tror jag...

\<?
$länk = @mysql_connect ("localhost", "blaha","blaha")
or die ("kunde inte ansluta");
$databas = mysql_select_db("blaha");
$sql = "SELECT \* FROM members WHERE user='{$\_POST\['user'\]}'"; 
$result = mysql_query("$sql") or die('Fel: ' . mysql_error());
while($rad=mysql_fetch_array($result)){
echo "Anv: ".$rad\['user'\].";
}
mysql_close ($länk);
?\>

Permalänk: https://www.webforum.nu/p/1330629

## #17 — K@llen, 2004-04-25T21:29Z

```
echo "Anv: ".$rad['user'].";
```

Enligt mitt tycke har du fortfarande parse error på raden ovan. Ojämt antal fnuttar är ett tecken på fel.

```
echo "Anv: " . $rad['user'];
```

Permalänk: https://www.webforum.nu/p/1330631

## #18 — slow, 2004-04-27T10:23Z

\<?php session_start(); ?\> Detta har jag överst.

\<?php 
include "conn.php"; // Databasanslutningen 

$sql = "SELECT \* FROM members WHERE user='{$\_POST\['user'\]}' AND pass='{$\_POST\['passwd'\]}'"; 
$result = mysql_query($sql) or die ("Fråga gick ej"); 
while ($row = mysql_fetch_array($result)){
echo $row\["user"\];
}
?\>

Då blir det inget felmeddelande men den skriver heller inte
ut något från databasen. bara blankt.
Då måste det ju nästa vara så att jag misslyckats med sessionerna...
Så här har jag inloggningen:

if (isset($\_POST\['submit'\])){ 
  
  $sql = "SELECT id FROM members 
         WHERE user='{$\_POST\['user'\]}' 
         AND pass='{$\_POST\['passwd'\]}'"; 
  $result = mysql_query($sql); 
  
  // Hittades inte användarnamn och lösenord 
  // skicka till formulär med felmeddelande 
  if (mysql_num_rows($result) == 0){ 
    header("Location: index.php?badlogin="); 
    exit; 
  } 
  
  // Sätt sessionen med unikt index 
  $\_SESSION\['sess_id'\] = mysql_result($result, 0); 
  $\_SESSION\['sess_user'\] = $\_POST\['user'\]; 
  $\_SESSION\['sess_passwd'\] = $\_POST\['passwd'\];
  header("Location: welcome.php"); 
  exit; 
} 
osv...

ser ni nått galet som skulle kunna ändras på där?

Permalänk: https://www.webforum.nu/p/1334266

---

Tråden på webben: https://www.webforum.nu/amne/php/101812-hämta-data-från-databas
