login  Naam:   Wachtwoord: 
Registreer je!
 Overzicht:
Overzicht > PHP > MySQL > mysql_insert_id()

Gebruik:
int mysql_insert_id ( [resource database_link])

Uitleg:
Deze functie kan soms zeer handig zijn!
Als je laatste query een INSERT was in een database waarbij er een kolom de eigenschap 'auto_increment' heeft, kan je met deze functie de nieuwe functie er meteen terug uithalen.
Bijvoorbeeld als je een systeem hebt waarbij een user zich moet registreren en hij krijgt bij het registreren een uniek id nummer, kan je deze meteen opzoeken (na de INSERT query van de gebruiker) en het hem door e-mailen.

Deze functie geeft 0 terug als er geen waarde gevonden is!


Voorbeeld:
<?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
mysql_error());
    
mysql_select_db("mydb");

    
mysql_query("INSERT INTO mytable (product) values ('waarde')");
    
$id mysql_insert_id();
    echo 
$id;
?>

Bijdragen :
Thomas
Dat speelt alleen bij meerdere auto_increment kolommen dan, denk ik?
Ik kan jouw opmerking niet bevestigen of weerleggen op grond van de MySQL manual.
Richard
"Als je laatste query een INSERT was in een database waarbij er een kolom de eigenschap 'auto_increment' heeft, kan je met deze functie de nieuwe functie er meteen terug uithalen."

Dit is niet zozeer van belang, meer dat het een PRImary key moet zijn.
kokx
Hiervoor kun je ook de mysql functie LAST_INSERT_ID() gebruiken. Ook kun je het beste transacties gebruiken. Selecteer daarvoor als tabeltype innodb. Voor het begin van een transactie stuur je een query met de inhoud BEGIN. Voor het einde van de transactie zend je als query: COMMIT.


 Overzicht
mysql_close()
mysql_connect()
mysql_error()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_object()
mysql_fetch_row()
mysql_free_result()
mysql_get_server_...
mysql_insert_id()
mysql_list_dbs()
mysql_list_fields()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_query()
mysql_result()
mysql_select_db()
mysql_stat()



© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.009s