laatste geposte id
ik heb dit stukje code:
Code (php)
1
2
3
4
5
2
3
4
5
mysql_query("INSERT INTO `klanten` (id, fname, lname, phone, country, mail, password, unieke_code1, unieke_code2) Values ('', '".$fname."', '".$lname."', '".$phone."', '".$country."', '".$mail1."', '".$password1."', '".$unieke_code1."', '".$unieke_code2."')") or die(mysql_error());
$select_klant_id = "SELECT * FROM klanten WHERE unieke_code1='".$unieke_code1." and unieke_code2='".$unieke_code2."'";
$query_klant_id = mysql_query($select_klant_id);
$klant_id = mysql_fetch_object($query_klant_id);
$select_klant_id = "SELECT * FROM klanten WHERE unieke_code1='".$unieke_code1." and unieke_code2='".$unieke_code2."'";
$query_klant_id = mysql_query($select_klant_id);
$klant_id = mysql_fetch_object($query_klant_id);
Hier post in eerst de klant in de tabel klanten. Omdat zijn id auto increasement is weet ik nog niet zijn id. Die probeer ik dus te sellecteren door de unieke code op de vragen. En dan zou daar bij $klant_id->id zijn id uit moeten komen. Maar er komt een error.
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/theschoo/public_html/hosting/order.php on line 601
Ik denk dat mysql het nog niet allemaal heeft verwerkt voordat hij sellecteerd ofzo.
Wat doe ik fout? Of is er een andere manier om dit te doen,
Alvast bedankt, Koen
php.net:
mysql_insert_id — Geef het id dat gegenereerd werd door de vorige INSERT query
Dit is precies wat ik bedoel, hij werkt nu.
Wat gebeurd er als 2 mensen tegelijk posten? Kan het dan door elkaar gaan lopen?
Maar gezien ik dit ooit jaren geleden ook mijzelf deze vraag stelde merkte ik op dat alle query's gewoon in een wachtrij komen te staan en éen voor éen worden uitgevoerd.
Dus het lijkt me te zeggen "Nee dat zal je niet overkomen".
Bedankt voor je hulp
Graag gedaan!
mysql_insert_id maakt gebruik van het resource nummer, hier door is de return waarde afhankelijk van de connectie en dus niet van de gebruiker die de pagina bezoek. Kortom twee mensen die tegelijk de pagina openen hebben een ander resource id en zullen dus een ander nummer terug krijgen.