Wat gaat er fout?

<?
$sql1 = "SELECT LAST_INSERT_ID(id+1) AS `id` FROM ss_advertenties WHERE gebruikersnaam = ".$_SESSION['gebruikersnaam'];
if ($qry1 = mysql_query($sql1)) {
while ($rij1 = mysql_fetch_assoc($qry1)) {

$_SESSION['advertentie'] = $rij1['id'];

}}


?>
Mysql kent geen LAST_INSERT_ID.
Dat is een php functie.

EDIT:
en je overschrijft telkens je sessie variabele
Een idee hoe ik dit wel goed voor elkaar krijg?
LAST_INSERT_ID heb ff gekeken op php.net maar word niet egt duidelijk de commando maar is je bedoeling om er achter te komen wat je volgende id word?

dan kun je lijkt me gewoon

select id from tabel order by id desc
$rij = mysql_fetch_object($sql);
$idnew = $rij->id + 1;

?
Danny Kater schreef op 28.01.2010 22:19
Een idee hoe ik dit wel goed voor elkaar krijg?


Er gaat volgens jou iets fout.
Je gebruikt een php functie in een mysql query wat niet kan.
Er staat wat (dus niet werkende) code, maar hier weet denk ik niemand wat je wilt bereiken....
Ik wil graag de volgende ID uit een tabel ophalen van een bepaalde gebruiker.

Dit id ken ik vervolgens toe aan een session.

Alvast bedankt
Wat ik zonet al aangaf:

<?php
$sql = mysql_query("select id from tabel order by id desc")
$rij = mysql_fetch_object($sql);
$idnew = $rij->id + 1; // dit word dan je volgende id (auto_increment)


$_SESSION['advertentie'] = $idnew;

?>
Ik heb nu wel de waarde eruit maar ik krijg de volgende foutmelding:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\webroot\ss\product_keuze.php on line 12
ruud van dijk schreef op 28.01.2010 22:44
Wat ik zonet al aangaf:

<?php
$sql = mysql_query("select id from tabel order by id desc")
$rij = mysql_fetch_object($sql);
$idnew = $rij->id + 1; // dit word dan je volgende id (auto_increment)


$_SESSION['advertentie'] = $idnew;

?>


Voeg nog even LIMIT 1 toe aan je query omdat je anders mysql wel alle id's laat ophalen uit je tabel.

p.s. Mocht je de laatste id+1 willen gebruiken om eeen volgende aan te maken, moet je even kijken naar auto-increments.
Misschien niet van toepassing maar toch. Een nuttige toepassing hiervoor kan ik me niet bedenken.
Ook de waarde komt er niet uit, hij doet alleen +1 bij $idnew Dus $idnew = altijd 1
heb je id en tabel in de sql al aangepast naar je eigen waardes??

Wat krijg je als je dit verandert
$sql = mysql_query("select id from tabel order by id desc limit 1") or die(mysql_error());

id en tabel hierbij veranderne met je eigen waardes

Reageren