---
title: "ID på det jag just lade in i databasen"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/47204-id-på-det-jag-just-lade-in-i-databasen"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "nkrantz"
published: "2002-07-04T16:23:41.000Z"
updated: "2002-07-05T10:37:54.000Z"
replies: 9
views: 286
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/47204-id-på-det-jag-just-lade-in-i-databasen"
---

# ID på det jag just lade in i databasen

## #1 — nkrantz, 2002-07-04T16:23Z

Hej!

Vill att mitt PHP script skall kunna visa vilket ID en viss nyss insatt post i databasen fick. Nu gör jag så att jag efter inserten hämtar upp den posten genom att i WHERE satsen ange de värden som just sattes in och sorterar på ID DESC.. men det känns som om det borde finnas något inbyggt sett.. sökte runt lite men hittade inget...

förslag?  :q 

//Nippe

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

## #2 — LarsG, 2002-07-04T16:26Z

Beror på vilken databashanterare du använder

Mysql:

select last_insert_id()

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

## #3 — nkrantz, 2002-07-04T16:28Z

Så klart det gör det  :r 

Tack, skall testa 

```php
select last_insert_id()
```

 

//Nippe

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

## #4 — nkrantz, 2002-07-04T16:34Z

Hm.. kom iofs att tänka på en sak.. säg att man har ett stort tryck på databasen å SQL frågorna lägger sig på kö, så kör en användare en fråga, sedan så tillåter dbhs:en att en annan användare kommer mellan å kör en fråga. Om den första användaren då använder last_insert_id() så får ju han upp det som den andra användaren lade in. Eller är sånt kanske löst på något smart sätt redan?

// Frågvise nippe

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

## #5 — LarsG, 2002-07-04T19:00Z

Det är just det som last_insert_id() hanterar. Du får rätt ID oavsett om någon annan gör insert i samma tabell samtidigt.

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

## #6 — Mungo, 2002-07-05T08:35Z

Är det inte bättre att använda PHP-funktionen mysql_insert_id() för att vara säker på att få senaste ID från den databaskoppling man använder?

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

## #7 — nkrantz, 2002-07-05T10:17Z

Hm.. oki, det funkar typ... hittade lite kod här på WF som jag implementerade å ändrade lite i... men då jag kör last_insert_id(id) så returnerar mysql alla raderna i tabellen... koden nedan gör så att jag får den sista, men det känns som om jag har gjort fel någonstans...  :r 

```php
$query = "SELECT last_insert_id(id) FROM tbl_event ORDER BY id DESC";
				$result = mysql_query($query) or die(mysql_error());
				$row = mysql_fetch_array($result);
				$id = $row[0];
```

 

// Nippe

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

## #8 — SPiN, 2002-07-05T10:26Z

Det är rätt, men jag håller med Mungo - varför inte använda PHP's inbyggda funktion för det här? Se så enkelt:

```
$id = mysql_insert_id();
```

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

## #9 — bohlin, 2002-07-05T10:35Z

Om man kör med BIGINT på autoinc-fältet så funkar inte mysql_insert_id() som det ska. Då ska man använda selst last_insert_id(), annars är mysql_insert_id nog det bästa alternativet

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

## #10 — nkrantz, 2002-07-05T10:37Z

okej, bra att veta i fortsättningen!

SPiNs förslag funkade alldeles utmärkt:

```php
$id = mysql_insert_id();
```

 

Tackar för hjälpen!

// nippe - nu glad!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/47204-id-på-det-jag-just-lade-in-i-databasen
