---
title: "Hämta fält ur databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/83172-hämta-fält-ur-databas"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "visslaren"
published: "2003-07-31T01:12:07.000Z"
updated: "2003-08-01T17:46:16.000Z"
replies: 9
views: 267
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/83172-hämta-fält-ur-databas"
---

# Hämta fält ur databas

## #1 — visslaren, 2003-07-31T01:12Z

Har ett litet problem som jag skulle behöva hjälp med. Håller på ett mysqlgränssnitt till en hem sida och behöver hämta vilka fält som finns i en tabell. 
Hittade ett script i manualen som jag inte får att fungera. har modifierat det smått, fungerade dock inte i ickemodifierat skick heller. Får inget felmeddelande och inget skrivs ut. 

```php
$länk=mysql_connect("****", "****", "****");
$db=mysql_select_db("****");

$fields = mysql_list_fields($db, $tbl, $länk);
$columns = mysql_num_fields($fields);
$i = 0;
while ($i < $columns) {

print mysql_field_name($fields, $i) ."\n";
$i++;
}
```

 

Nån som ser nåt fel?

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

## #2 — Nexus86, 2003-07-31T01:44Z

I mysql_list_fields är din första parameter $db, dvs handlet till en databas när det egentligen ska vara namnet på en databas.

$tbl innehåller ingenting eller sätter du det före koden du lämnat?

Sen ska man aldrig ha å, ä, ö i ett variabelnamn.

D.v.s

```php
$link = mysql_connect("host", "user", "password");
$db = mysql_select_db("databasnamn");

$fields = mysql_list_fields("databasnamn", "tabellnamn", $link);
$columns = mysql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo mysql_field_name($fields, $i) . "\n";
}

// Glöm inte att stänga databasen
mysql_close($link);
```

Jag använder echo istället för print men det är mest en smaksak. :)

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

## #3 — visslaren, 2003-07-31T13:21Z

Fungerar överallt med $länk (dum vana sen jag lärde mig php. stod länk i exemplet jag läste med mysql :) ) har provat med link vilket inte gjorde nån skillnad överhuvudtaget. 
$tbl innehåller värde som den får föregående sida. Har även provat med att skriva databas och tabellnamn istället för variablarna där men det fungerar inte heller.

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

## #4 — spejsklark, 2003-07-31T13:51Z

Testa med fnuttar kring '$link' och kanske även övriga variabelnamn. Jag gör det felet hela tiden.

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

## #5 — visslaren, 2003-07-31T13:56Z

Det gjorde ingen skillnad

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

## #6 — Nexus86, 2003-07-31T16:05Z

> **visslaren skrev:**
>
> Fungerar överallt med $länk (dum vana sen jag lärde mig php. stod länk i exemplet jag läste med mysql :) ) har provat med link vilket inte gjorde nån skillnad överhuvudtaget.

Det var inte meningen heller. Tänkte mer som att man bör ha det som huvudregel. Att inte ha med å, ä och ö i variabelnamn.

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

## #7 — visslaren, 2003-07-31T18:14Z

Fick inte ordning på det där scriptet, men jag hittade ett annat som fungerar minst lika bra :)

<http://se.php.net/manual/en/function.mysql-fetch-field.php> \<-  utgick från example 1 där ifall nån annan som behöver samma sak undrar :)

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

## #8 — visslaren, 2003-07-31T19:01Z

Ok, ny fråga relaterat till detta. 

Hur får man reda på om ett fält är satt till auto_increment eller inte? 
Har försökt med "mysql_field_flags()" som tydligen ska fixa det men får det inte att fungera.

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

## #9 — visslaren, 2003-08-01T14:05Z

Ingen som vet?

Har försökt med:

```php
$flags = mysql_field_flags($result);
print "$flags->auto_increment";
```

Men det gjorde ingen som helst skillnad. Inget skrivs ut :(

länk till funktionen i manualen: <http://se.php.net/manual/en/function.mysql-field-flags.php>

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

## #10 — visslaren, 2003-08-01T17:46Z

Jag löste det med:

```php
$flags = explode(" ", mysql_field_flags($result, $i));
if (in_array ("auto_increment", $flags)) {
print "auto_increment"; 
}
else {
print "&nbsp;";
}
```

:)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/83172-hämta-fält-ur-databas
