Avatar billede spejder_leon Nybegynder
25. oktober 2006 - 03:20 Der er 5 kommentarer og
1 løsning

Oprette en post i een tabel, og få id'et fra recorden retur

Hej

Jeg vil gerne have nøgle id'et retur fra den post jeg indsætter i en tabel i en MySQL database.

Tabel: t_table
felt1: f_id
felt2: f_value

f_id er primary key, og autoincrementer. ved oprettelse af ny post.

Det jeg søger er en funktion:

function give_id($value){
  return runsql("insert into t_table (f_value) VALUES ($value)";
}
- Jeg har runsql:

function runSQL($argsql) //,$argdbhost, $argdbuser, $argdbpass, $argdbdatabase)
{
    global $dbhost;
    global $dbdatabase ;
    global $dbuser;
    global $dbpass;

    $link = mysql_connect($dbhost, $dbuser, $dbpass);
    if (!$link) {
      die('Kunne ikke forbinde til databasen. Fejl: ' . mysql_error());
    }
//    echo 'Forbundet succesfuldt';
    mysql_select_db($dbdatabase,$link) or die("kunne ikke vælge databasen");
    $res = mysql_query($argsql) or die("In [connection.php -> runsql] Forespørgslen lykkedes ikke : " . mysql_error() . " executing : [$argsql]");

    if (!$res) {
        die('Ugyldig forespørgsel: ' . mysql_error());
    }
    mysql_close($link);
    return $res;
}
}
Avatar billede spejder_leon Nybegynder
25. oktober 2006 - 03:22 #1
Det der er det essentielle er funktionen: trylle

function give_id($value){
  return trylle(runsql("insert into t_table (f_value) VALUES ($value)");
}
Avatar billede well_r Nybegynder
25. oktober 2006 - 03:28 #2
http://php.net/mysql_insert_id
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
  die('Kunne ikke forbinde: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Sidst indsatte forespørgsel, havde ID %d\n", mysql_insert_id());
?>
Avatar billede spejder_leon Nybegynder
25. oktober 2006 - 17:23 #3
Det virker i det simple tilfælde, hvordan returnerer jeg både $link og id'et? generelt hvordan returnerer jeg mere end een variabel fra en funktion ? - Kan man lave call by reference?
Avatar billede spejder_leon Nybegynder
25. oktober 2006 - 17:27 #4
er arrays løsningen?
Avatar billede spejder_leon Nybegynder
25. oktober 2006 - 17:36 #5
yes - returnerer vha. et array, så kan jeg få id'et med. Tak
Avatar billede well_r Nybegynder
25. oktober 2006 - 18:25 #6
np
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