Hoi mensen,

Onderstaand stukje script moet ervoor zorgen dat bij koppelid automatisch 1 opgeteld wordt, maar hij blijft op 0 staan. Wat doe ik verkeerd?

<?php 
$koppelid = mysql_insert_id();  
$sql = "INSERT INTO uitvoeringen (produktid, uitvoering, koppelid) VALUES ('$produktid','$uitvoering','$koppelid')"; 
$result = mysql_query($sql); 
?>
$koppelid zal altijd 0 zijn omdat je mysql_insert_id() gebruikt voordat je de insert query uitvoert.

Bovendien moet je voor het gebruik van die functie wel een auto_increment op een veld in je tabel hebben staan. Heb je dat niet, dan zal de functie altijd 0 terug geven.
Ik weet niet wat je precies wilt doen, maar als je de ID wilt hebben van de laatste INSERT, dan moet je eerst je query uitvoeren en daarna de ID opvragen dmv de volgende code:

$sql = "INSERT INTO uitvoeringen (produktid, uitvoering, koppelid) VALUES ('$produktid','$uitvoering','$koppelid')"; 
$result = mysql_query($sql); 
$koppelid = mysql_insert_id();  



Als je zo maar ergens $koppelid = mysql_insert_id(); neerzet, zal $koppelid 0 zijn aangezien er geen INSERTS aan vooraf zijn gegaan
Blanche, bedankt voor je uitleg. Daardoor zag ik dat ik een denkfout heb gemaakt en ik heb het nu opgelost!

Reageren