[php/mysql]Autoincrement vraag

Pagina: 1
Acties:

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:12
Ik heb een tabel waarin topics worden gezet, dit gebeurt zo:

PHP:
1
2
3
 $sql = "INSERT INTO topics (titel, topic, forumid, posterid, ip, timepost, readtime)
              VALUES ('$titel', '$topic', '$forumid', '$userid', '$remote_ip', '$time', '$readtime')";
mysql_query($sql) or die(mysql_error());


Maar hoe kom ik dan te weten wat de id is van het net erin gezette topic?

|>


Verwijderd

Bij mijn weten is de enige manier gewoon selecteren met de info die je hebt. Misschien is $time een timestamp? Dan gewoon SELECT id FROM topics WHERE timepost='$time'

Andere mogelijkheid is SELECT id FROM topics ORDER BY id DESC LIMIT 1

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:12
Verwijderd schreef op 19 oktober 2002 @ 21:28:
Bij mijn weten is de enige manier gewoon selecteren met de info die je hebt. Misschien is $time een timestamp? Dan gewoon SELECT id FROM topics WHERE timepost='$time'

Andere mogelijkheid is SELECT id FROM topics ORDER BY id DESC LIMIT 1
Nooit aan gedacht ja! Das de solution :)

|>


  • Ultra
  • Registratie: Maart 2000
  • Niet online
Er is nog een andere manier, ff zoeken...

Dat was dus 10 seconden zoeken :Z
http://www.php.net/manual/en/function.mysql-insert-id.php

  • smaij
  • Registratie: November 2000
  • Laatst online: 11:26
Simon schreef op 19 oktober 2002 @ 21:29:
[...]

Nooit aan gedacht ja! Das de solution :)
KAN echt simpeler als je natuurlijk een Autoincrement veld hebt tenminste...


ZOEK EENS OP:
mysql_insert_id();

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 13-01 07:19
Gebruik mysql_insert_id, als je de hoogste ophaalt heb je kans dat je een verkeerde krijgt als in de tijd tussen de twee queries een andere gebruiker ook iets heeft ingevoegd.

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

_js_ schreef op 19 oktober 2002 @ 22:04:
Gebruik mysql_insert_id, als je de hoogste ophaalt heb je kans dat je een verkeerde krijgt als in de tijd tussen de twee queries een andere gebruiker ook iets heeft ingevoegd.
Daarnaast garandeerd MySql niet dat een autoincrement chronologisch is, dit gaat meetellen als je je index te klein hebt staan op een tabel waar veel ge-insert en ge-delete wordt.

Localhost, sweet localhost


Verwijderd

_js_ schreef op 19 oktober 2002 @ 22:04:
Gebruik mysql_insert_id, als je de hoogste ophaalt heb je kans dat je een verkeerde krijgt als in de tijd tussen de twee queries een andere gebruiker ook iets heeft ingevoegd.
Het is toch zo dat ie het laatst ingevoegde ID pakt van de door de user ingevoerde query? Of zit ik dan fout? :X

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
Verwijderd schreef op 20 oktober 2002 @ 14:07:
[...]

Het is toch zo dat ie het laatst ingevoegde ID pakt van de door de user ingevoerde query? Of zit ik dan fout? :X
ja, dus altijd de ID van de door deze sessie van het script uitgevoerde query.

  • smaij
  • Registratie: November 2000
  • Laatst online: 11:26
als dit nog niet in de FAQ staat, kan dit niet daarin opgenomen worden, want er zijn steeds meer topics hierover.
Pagina: 1