[PHP] mysql_insert_id geeft verkeerde ID?

Pagina: 1
Acties:

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 09:57
heb hier een stukje code:
PHP:
1
<?while ($topic = mysql_fetch_object($result)) {    $res2 = mysql_query("SELECT id FROM ibf_members WHERE LCASE(name) = '" .strtolower($topic->USERNAME) ."'",$mysql);    $starter_id = mysql_result($res2,0);    $res3 = mysql_query("SELECT id FROM ibf_members WHERE LCASE(name) = '" .strtolower($topic->LAST_POST_USERNAME) ."'",$mysql);    $last_poster_id = @mysql_result($res3,0);    mysql_query("INSERT INTO ibf_topics (*knip*",$mysql);    $topic_id = mysql_insert_id($mysql);    $post = $parser->convert( array( TEXT    => $topic->MESSAGE,                                         SMILIES => 1,                                         CODE    => 1,                                         HTML    => 0));    mysql_query("INSERT INTO ibf_posts *knip*",$mysql);};?>

Vreemde is nu: die mysql_insert_id geeft dus niet het laatste ID van de insert die een regel erboven staat, maar het ID van de vorige insert uit de while loop (eerste heeft dus ID 0).

Database is MySQL-Innodb, PHP versie 4.2.0, Apache 1.3.24

Edit: beide inserts worden wel uitgevoerd, database staat al lekker vol na 3 runs :P

Edit2: Konqueror neemt dus geen regeleinden mee vanuit Kate :(

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
Ik dacht dat auto-increment getallen bij 1 begonnen...?

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 09:57
Vergeten te vermelden: beide tabellen zijn auto_increment op het ID nummer.
Als een insert niet gelukt is, geeft mysql_insert_id 0 als waarde terug. Wat ook wel klopt, want de eerste keer is er nog geen INSERT geweest behalve diegene die een regel erboven staat.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 09:57
Altijd leuk als een aantal queries gewoon lukken en als de meeste gewoon stil fout zijn"
You have an error in your SQL syntax near...

errug leuk ;)

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
dus je probleem is opgelost?

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op donderdag 13 juni 2002 22:39 schreef _JGC_ het volgende:
Edit2: Konqueror neemt dus geen regeleinden mee vanuit Kate :(
niks om je zorgen over te maken, dat is topix..
Pagina: 1