"Jonas Koch Bentzen" <ingen.email@eksempel.dk> wrote in message
news:b9b5h9$d1d$1@sunsite.dk...
>
> Jeg ville foretrække at lave alt databasearbejde vha. PEAR DB
> (
http://pear.php.net/manual/en/package.database.php#package.database.db).
> Med den bruger man sekvenser (svarer lidt til auto_increment'ede
> kolonner i MySQL). I ens tabel (f.eks. "brugere" har man så en
> id-kolonne, hvis værdi hentes fra sekvensen ("brugere_id_seq"). Koden
> ser så sådan her ud:
>
> if (empty($id)) {
> # Der er ikke noget ID, hvilket betyder,
> # at det er en nyoprettelse. Vi giver så
> # brugeren et ID - det henter vi fra
> # sekvensen brugere_id_seq:
>
> $id = $db->nextId('brugere_id');
> }
Stort set samme funktion som jeg har skrevet mig.
> $db->query('UPDATE brugere SET
> navn = '.$db->quote($_POST['navn']).'
> WHERE
> id = '.$db->quote($id).'
> ');
Jep - Også her.
> Princippet i ovenstående er præcis det samme som det, du vil have.
Herligt.
Så må jeg jo have udtænkt noget rigtigt.
Jeg blev blot i tvivl om, hvorvidt det blev anset for at være et hack.
> Forskellen er, at metoden med PEAR DB virker med alle databaser, som PHP
> understøtter, hvor din kun virker med MySQL (fordi LAST_INSERT_ID() ikke
> er en standard-SQL-metode).
Ja det er jo en god ting.
Det vil gøre koden mere portabel.
> Mht. sekvenser er der en beskrivelse af fænomenet på
>
http://pear.php.net/manual/en/package.database.db.intro-sequences.php.
Den vil jeg læse ved lejlighed.
Jeg vil f.eks. gerne vide hvordan de kan finde det netop indsatte ID i
samtlige databaser som måske har tusinde samtidige brugere.
Tak for svaret.
Mvh
Jimmy