Avatar billede mccookie Seniormester
27. november 2003 - 15:57 Der er 2 kommentarer og
1 løsning

PHP & MySQL - Indsæt post i DB og arbejd videre med id'en

Hejsa

Ved ikke om det er den rette kat.

Spm'et er kombineret PHP & MySQL spm.

Jeg vil gerne via php oprette en post i en MySQL DB og ved oprettelse få fat i den id som det jeg indsætter i DB'en får...

Den id vil jeg gerne kaste ud i en VAR der eks. hedder $last_used_id;

Det er til at arbejde videre i andre tabeller med den ågældende post.......

Håber nogen kan hjælpe.....

mvh.
McCookie
Avatar billede morpheus Nybegynder
27. november 2003 - 16:22 #1
$res = mysql_query("INSERT INTO....") or die(mysql_error());
$last_used_id = mysql_insert_id();
Avatar billede mccookie Seniormester
27. november 2003 - 17:28 #2
Jeg bruger det sådan her....

      // Ny person oprettes i ab_person
      $sql1 = "INSERT INTO ab_person
                (ab_person_id, fornavn, efternavn)
                VALUES ('', '$fornavn', '$efternavn')";
          echo $sql1;
      $resultat = mysql_query($sql1) or die(mysql_error());    // Ved fejl skrives fejlen til skærmen
      $used_id = mysql_insert_id();
     

              // Ny person oprettes i ab_adresse
      $sql3 = "INSERT INTO ab_adresse
                (ab_adresse_id, ab_person_id, adresse, postnr, city, land, tlf, mobil, email, icq, changed, vises)
                VALUES ('', '$used_id' , '' , '' , '' , '' , '' , '' , '' , '')";

      $resultat = mysql_query($sql3) or die(mysql_error());    // Ved fejl skrives fejlen til skærmen

              // Fødselsdag for personen oprettes
      $sql4 = "INSERT INTO
          ab_fodselsdag (ab_fodselsdag_id, ab_person_id, fodselsdag, kon)
        VALUES ('', '$used_id', '', '$kon')";

      $resultat = mysql_query($sql4) or die(mysql_error());    // Ved fejl skrives fejlen til skærmen


              // Funktion oprettes for personen
      $sql5 = "INSERT INTO ab_funktion (ab_funktion_id, ab_person_id, ab_funktionsliste_id, enhed_id, funktion_start, funktion_slut, oprettet)
        VALUES ('', '$used_id', '', '', '', '')";

      $resultat = mysql_query($sql5) or die(mysql_error());    // Ved fejl skrives fejlen til skærmen


              // Indmeldelsesdato oprettes for personen
      $sql6 = "INSERT INTO ab_indmeldt (ab_person_id, ab_indmeldt, dato_indmeldt, dato_udmeldt, comments, status)
                          VALUES ('$used_id', '', '', '', '', '')";

      $resultat = mysql_query($sql6) or die(mysql_error());    // Ved fejl skrives fejlen til skærmen



og det giver følgende meddelse:

INSERT INTO ab_person (ab_person_id, fornavn, efternavn) VALUES ('', 'Allan', 'Jeppsen')Column count doesn't match value count at row 1
Avatar billede mccookie Seniormester
27. november 2003 - 17:31 #3
Har selv fundet fejlen :o)

Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Roskilde Universitet

AV Tekniker

Forsvarsministeriets Materiel- og Indkøbsstyrelse

DevOps Engineer (AI) til Forsvarets nye IT-platform